Когда разрабатываете свой GUI с помощью PyQt для какого-либо софта бывает необходимо позаимствовать цвета из текущего стиля интерфейса. Например, чтобы правильно раскрасить свои виджеты, подогнав их по цвету. Ведь бывает, что ваш GUI используется в разных софтах. Причём некоторые со светлой темой а другие с тёмной.
По умолчанию стили наследуются, но если вы задаёте какую-либо раскраску для части виджета через свой styleSheet, то требуется ссылаться на цвета текущего стиля.
Как это сделать? Как получить нужный цвет из палитры имеющегося стиля? Это достаточно просто, нужно использовать класс QPalette и его роли.
Например, мне нужно достать цвет текста из одного виджета и применить его в другом как цвет фона (не важно зачем именно так, просто захотелось😊).
Получаем палитру виджета и сразу достаём нужный цвет, указав его роль.
from PySide2.QtGui import QPalette
color = main_window.palette().color(QPalette.Text)
теперь можем использовать этот цвет в стилях
my_widget.setStyleSheet(f'background-color: {color.name()};')
Готово, мы динамически переопределили дефолтный стиль используя текущий стиль окна!
На самом деле есть запись покороче, в одну строку и без лишних переменных. Не очень-то по правилам CSS, но Qt это понимает.
my_widget.setStyleSheet('background-color: palette(Text);')
Этот способ не подходит если вам нужно как-то модифицировать цвет перед применением в своих стилях. В этом случае потребуется первый способ.
Зато он прекрасно сработает в файле .qss, то есть не придётся в коде прописывать раскраску отдельных элементов через ссылки на палитру, всё красиво сохранится в отдельном файле .qss!
QListView#my_widget::item:selected {
background: palette(Midlight);
}
Про имеющиеся роли можно почитать здесь🌍
#qt#tricks
🌟LinumV2: T2V модель, которую делали вдвоем
Интересная история, которая доказывает, что в индустрии ИИ не всегда нужны миллиарды долларов и сотни сотрудников.
Знакомьтесь - проект Linum.
Два брата, Сахила Чопра и Ману Чопра, сделали две text-to-video модели на 2 миллиарда параметров, которые генерируют клипы длиной от 2 до 5 секунд в разрешении до 720p.
Согласитесь, это редкое явление в мире, где большинство видео-генераторов закрыты за платными API.
Изначально братья совсем не планировали заниматься генерацией видео.
Сахил окончил Стэнфордский университет в 2019, где в соавторстве разработал курс по LLM и занимался исследованиями в области когнитивных наук на стыке ИИ и лингвистики.
Ману досрочно окончил Калифорнийский университет в Беркли в 2021 г.. До основания Linum занимался исследованиями ИИ в биоинженерии.
Стартовав осенью 2022 года и пройдя через YCombinator, они пилили ИИ-инструмент для раскадровки фильмов. Но, пообщавшись с режиссерами, поняли: рынок слишком узкий, а творческий процесс у всех разный.
🟡Первая попытка создания видео-модели
Linum v1, была, по их признанию, франкенштейном. Они взяли за основу SDXL, раздули U-NET, превратив 2D-свертки в 3D и добавили временные слои внимания.
Получился забавный бот для Discord, который делал гифки в разрешении 180p. Это работало, но было тупиковой ветвью эволюции.
Расширять модель, заточенную под картинки, для работы с видео - плохая идея в долгосроке. VAE, идущий в комплекте с имидж-моделью, просто не умеет нормально сжимать и разжимать видеопоток. Качество на выходе получается никакое.
К тому же распределения данных в картинках и видео слишком разные, да и переучивать модель стоит дорого.
🟡V2 решили пилить с нуля.
VAE взяли от Wan 2.1, успев попутно разработать свой собственный temporal VAE, но решили сэкономить на эмбеддингах, DIT и T5 на роль текстового энкодера.
Представьте объем работы: двое парней делали то, чем обычно занимаются отделы с десятками сотрудников.
Они сами собирали датасеты, настраивали VLM для фильтрации контента, писали пайплайны для аннотирования архива видео.
И, конечно, бенчмаркали провайдеров, пытаясь понять, почему H100 у одного хостера работает хуже, чем у другого.
🟡К чему они пришли за 2 года разработки?
Linum v2 — pretrained веса. Модель пока ошибается в физике и эстетике, а генерация 5-секундного клипа в 720p занимает около 15 минут на H100 при 50 шагах.
Но, главное, братья не останавливаются: есть планы по ускорению через CFG и timestep distillation, работа над звуком и масштабированием.
@ai_machinelearning_big_data
#AI#ML#T2V#Linum
🌟TurboDiffusion: ускорение генерации видео в 100+ раз.
Суровая реальность нашего времени: вы хотите сгенерировать 5-секундное видео на большой SOTA-модели. Вы запускаете промпт, идете пить кофе, возвращаетесь, а процесс все еще идет. И зачастую генерация может занимать больше часа.
Главные виновники - чудовищная вычислительная сложность механизма внимания в трансформерах, необходимость сотен шагов денойзинга и огромный объем памяти для весов в полной точности.
Авторы проекта TurboDiffusion из Цинхуа и Беркли решили собрать все эффективные методы сжатия и ускорения в один пайплайн. Их идея заключалась в том, что разреженность и квантование — это техники, которые не мешают друг другу.
🟡Архитектура держится на 3-х китах оптимизации:
🟢Заменили стандартное внимание на гибрид из SageAttention2++ и Sparse-Linear Attention (SLA), который превратил квадратичную сложность в линейную. чтобы модель фокусировалась только на важных токенах.
🟢Дистиллировали сэмплинг через rCM - вместо стандартных 50–100 шагов модель приходит к результату всего за 3-4 шага без потери сути изображения.
🟢Перевели и веса и активации линейных слоев в INT8 используя блочное квантование, чтобы не потерять точность.
В довершении ко всему смогли объединить после файнтюнинга под SLA и дистилляции rCM веса в единую модель, избежав конфликтов.
🟡Результаты бенчмарков выглядят как опечатка, но это не она.
На RTX 5090 время генерации для тяжелой модели Wan2.2-I2V 14B упало с 69 минут до 35.4 секунд. А для более легкой Wan 2.1-1.3B - с почти 3-х минут до 1.8 секунды.
Это ускорение больше чем в 100 раз.
При этом, судя по примерам, визуальное качество осталось практически неотличимым от оригинала.
📌Лицензирование: Apache 2.0 License.
🟡Набор моделей
🟡Техотчет
🖥GitHub
@ai_machinelearning_big_data
#AI#ML#I2V#T2V#TurboDiffusion
Ядерный апгрейд для WAN: FusionX — видео в два раза быстрее и краше! 🔥
Название модели: Wan2.1_14B_FusionX
Ссылка на модель: https://civitai.com/models/1651125?modelVersionId=1868891
Тип модели: #Checkpoint#Merge
Количество скачиваний: 8.8k+
Дата загрузки: 6 июня 2025
Базовая модель: Wan Video 14B t2v
Теги:#merge, #wan, #i2v, #t2v, #wan14b, #video, #cinematic, #animation, #speed
Описание модели | Комментарий разработчика:
Это мощный чекпоинт, созданный слиянием базовой модели WAN 2.1 14B и нескольких передовых моделей (CausVid, AccVideo, MoviiGen1.1). Результат — значительное улучшение качества движения, плавности сцены и детализации, сопоставимое с закрытыми коммерческими аналогами.
Главное преимущество — ускорение рендеринга до 50% по сравнению с базовой моделью, особенно при включении SageAttn. Модель отлично подходит для генерации как из текста, так и из изображения, и полностью совместима с VACE. Автор также выпустил LoRA-версию для тех, кто предпочитает гибкость и контроль.
Помимо основной Text2Video модели, на странице доступны и другие версии: отдельная для Image2Video, а также квантованные GGUF-варианты для экономии VRAM.
Идеальный выбор, чтобы быстро создавать качественные и выразительные кинематографичные ролики.
Важные настройки:
Модель не требует триггерных слов, но для качественного результата критически важны следующие параметры:
CGF должен быть установлен на 1.
Shift: Для разрешения 1024x576 начинайте с 1, для 1080x720 — с 2. Для большего реализма используйте низкие значения, для стилизации — более высокие (3-9).
Шаги: 8–10 шагов для оптимального качества.
🤖НЕЙРО-СКЛАД — всё, что нужно, для твоей нейронки!