TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #381 · 23 окт.

Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени. btn = QPushButton("Click Me") btn.setProperty("flat", True) Это аналогично вызову btn.setFlat(True) Если указать несуществующее свойство, то оно просто создается btn.setProperty("btnType", "super") Получить его значение можно методом .property(name) btn_type = btn.property("btnType") Когда это может быть полезно? ▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно widget = QWidget() widget.setProperty('my_data', 123) print(widget.property('my_data')) ▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn". Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат. Да, но y ObjectName есть ограничение - только строки. ▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных widget.setProperty('my_data', {'Key': 'value'}) widget.setProperty('order', 1) all_widgets.sort(key=w: w.property('order')) Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта widget.order = 1 widget.my_data = 123 Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение. ▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства. Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль. Просто запустите этот код from PySide2.QtWidgets import * if __name__ == "__main__": app = QApplication([]) widget = QWidget(minimumWidth=300) layout = QVBoxLayout(widget) btn1 = QPushButton("Action 1") btn2 = QPushButton("Action 2") btn3 = QPushButton("Action 3", flat=True) layout.addWidget(btn1) layout.addWidget(btn2) layout.addWidget(btn3) # добавим кастомное свойство одной кнопке btn1.setProperty("btnType", "super") # добавляем стили widget.setStyleSheet( """ QPushButton[btnType="super"] { background-color: yellow; color: red; } QPushButton[flat="true"] { color: yellow; } """ ) widget.show() app.exec_() С помощью селектора мы избирательно назначили стили на конкретные кнопки. Как получить список всех кастомный свойств? Функция получения списка кастомных свойств отличается от получения дефолтных. def print_widget_dyn_properties(widget): for prop_name in widget.dynamicPropertyNames(): property_name = prop_name.data().decode() property_value = widget.property(property_name) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #unslothstudio

当前筛选 #unslothstudio清除筛选
Machinelearning

@ai_machinelearning_big_data · Post #9694 · 19.03.2026 г., 09:05

🌟Unsloth Studio: опенсорный no-code веб-интерфейс для LLM. Unsloth Studio - это локальный комбайн, который объединяет подготовку данных, обучение, инференс и экспорт модели в одном месте. Под капотом кастомные Triton-ядра с собственным backprop. По сравнению со стандартными CUDA-реализациями это дает 2х прирост скорости обучения и снижение потребления по VRAM на 70%. Поддерживаются полный файн-тюнинг, претрейн, LoRA, QLoRA, 4-bit, 16-bit и FP8. Всего совместимо более 500 моделей, включая Llama 4, Qwen 3.5 и Gemma 3. Для работы с данными есть визуальный нодовый редактор Data Recipes. Studio принимает PDF, DOCX, CSV и JSONL, генерирует синтетические датасеты и автоматически конвертирует данные в форматы ChatML или Alpaca. Помимо стандартного SFT, Studio умеет в GRPO, которая не требует отдельной critic-модели и потребляет на 80% меньше VRAM, что делает обучение ризонинг-моделей реалистичным на локальном железе. Модели на 8B и 70B параметров (например, Llama 3.1, Llama 3.3, DeepSeek-R1) можно файн-тюнить на одной RTX 4090 или 5090, а не на кластере, но есть и поддержка multi-GPU. В режиме инференса Studio умеет: tool calling, выполнение кода прямо в чате, работу с изображениями, аудио, PDF и DOCX. Из коробки - веб-поиск и автонастройка параметров инференса. Экспорт результатов - одной кнопкой в GGUF, vLLM или Ollama. Studio сама мерджит LoRA-адаптеры с базовой моделью. Работает на Windows, Linux и macOS (на Mac пока только инференс, поддержка MLX-обучения анонсирована), есть Docker. AMD-пользователи могут обучать через Unsloth Core, поддержка в Studio обещана позже. 📌Лицензирование: AGPL-3.0. 🟡Документация 🖥Github @ai_machinelearning_big_data #AI#ML#LLM#Framework#Train#UnslothStudio