Этот репозиторий содержит определения моделей PyTorch, предварительно обученные веса и код вывода/выборки для нашей статьи, посвященной исследованию Hunyuan-DiT. Больше визуализаций вы можете найти на странице нашего проекта.
Hunyuan-DiT: мощный диффузионный преобразователь с несколькими разрешениями и глубоким пониманием китайского языка
DialogGen: мультимодальная интерактивная диалоговая система для многоходовой генерации текста в изображение
15 июля 2024 г.: HunYuanDiT и Shakker.Ai совместно запустили мероприятие по тонкой настройке на основе модели HunYuanDiT 1.2. Опубликовав лору или доработанную модель на основе HunYuanDiT, вы можете заработать бонус до 230 долларов от Shakker.Ai. См. Shakker.Ai для более подробной информации.
15 июля 2024 г.: ? Обновите ComfyUI для поддержки стандартизированных рабочих процессов и совместимости с весами из модуля t2i и обучения Lora для версий 1.1/1.2, а также с теми, которые были обучены Kohya или официальным скриптом. Подробности см. в ComfyUI.
15 июля 2024 г.: ⚡ Мы предлагаем среду Docker для CUDA 11/12, позволяющую обойти сложную установку и играть одним щелчком мыши! Подробности смотрите в докерах.
8 июля 2024 г.: ? Выпущена версия HYDiT-v1.2. Пожалуйста, проверьте HunyuanDiT-v1.2 и Distillation-v1.2 для получения более подробной информации.
3 июля 2024 г.: ? Версия Kohya-hydit теперь доступна для моделей v1.1 и v1.2 с графическим интерфейсом для вывода. Официальная версия Kohya находится на рассмотрении. Подробности см. в Кохье.
27 июня 2024 г.: ? Выпущен Hunyuan-Captioner, предоставляющий подробные подписи к обучающим данным. Подробности смотрите в mllm.
27 июня 2024 г.: ? Поддержка LoRa и ControlNet в диффузорах. Подробности смотрите в разделе Диффузоры.
27 июня 2024 г.: ? Выпущены сценарии вывода видеопамяти графического процессора объемом 6 ГБ. Подробности см. в разделе Lite.
19 июня 2024 г.: ? Выпущен ControlNet, поддерживающий контроль хитрости, позы и глубины. Подробности см. в кодах обучения/вывода.
13 июня 2024 г.: ⚡ Выпущена версия HYDiT-v1.1, которая устраняет проблему перенасыщения изображения и устраняет проблему водяных знаков. Пожалуйста, проверьте HunyuanDiT-v1.1 и Distillation-v1.1 для получения более подробной информации.
13 июня 2024 г.: ? Выпущен обучающий код, предлагающий полнопараметрическое обучение и обучение LoRA.
6 июня 2024 г.: ? Hunyuan-DiT теперь доступен в ComfyUI. Пожалуйста, проверьте ComfyUI для получения более подробной информации.
6 июня 2024 г.: мы представляем версию Distillation для ускорения Hunyuan-DiT, которая обеспечивает ускорение 50 % на графических процессорах NVIDIA. Пожалуйста, проверьте Дистилляцию для более подробной информации.
5 июня 2024 г.: ? Hunyuan-DiT теперь доступен в ? Диффузоры! Пожалуйста, проверьте пример ниже.
4 июня 2024 г.: поддержка ссылок Tencent Cloud для загрузки предварительно обученных моделей! Пожалуйста, проверьте ссылки ниже.
22 мая 2024 г.: мы представляем версию TensorRT для ускорения Hunyuan-DiT, которая обеспечивает ускорение 47 % на графических процессорах NVIDIA. Пожалуйста, проверьте TensorRT-libs для получения инструкций.
22 мая 2024 г.: теперь мы поддерживаем демонстрационную версию многоходовой генерации text2image. Пожалуйста, проверьте сценарий ниже.
Добро пожаловать в наш веб- бот Tencent Hunyuan , где вы сможете изучить наши инновационные продукты! Просто введите предложенные ниже подсказки или любые другие творческие подсказки, содержащие ключевые слова, связанные с рисованием, чтобы активировать функцию преобразования текста в изображение Hunyuan. Раскройте свой творческий потенциал и создайте любую картинку по вашему желанию, и все это бесплатно!
Вы можете использовать простые подсказки, похожие на текст на естественном языке.
画一只穿着西装的猪
нарисовать свинью в костюме
生成一幅画,赛博朋克风,跑车
создать картину, стиль киберпанк, спортивную машину
или многооборотное языковое взаимодействие для создания изображения.
画一个木制的鸟
нарисовать деревянную птицу
变成玻璃的
превратиться в стекло
Hunyuan-DiT (модель преобразования текста в изображение)
Вывод
Контрольно-пропускные пункты
Версия для дистилляции
Версия TensorRT
Обучение
Лора
Controlnet (поза, хитрость, глубина)
Выводы о 6 ГБ видеопамяти графического процессора
IP-адаптер
КПП Хунюань-ДиТ-С (модель 0.7Б)
Ммм
Вывод
Вывод
Hunyuan-Captioner (повторное подписание необработанных пар изображение-текст)
Hunyuan-DialogGen (модель быстрого улучшения)
Веб-демо (Градио)
Многооборотная демонстрация T2I (Градио)
Демо-клиент
Удобный интерфейс
Диффузоры
Кохья
веб-интерфейс
Hunyuan-DiT: мощный диффузионный преобразователь с несколькими разрешениями и глубоким пониманием китайского языка
Примеры
Инструкции
Вывод
Градио
Контрольная сеть
Выводы о 6 ГБ видеопамяти графического процессора
Использование Градио
С использованием ? Диффузоры
Использование командной строки
Дополнительные конфигурации
Использование ComfyUI
Использование Кохьи
Использование предыдущих версий
Подготовка данных
Полнопараметрическое обучение
ЛоРА
Руководство по установке для Linux
Китайско-английская двуязычная архитектура DiT
Многооборотная генерация Text2Image
Новости!!
Попробуйте в Интернете
План с открытым исходным кодом
Содержание
Абстрактный
Ключевые особенности Hunyuan-DiT
Сравнения
Визуализация
Требования
Зависимости и установка
Загрузка предварительно обученных моделей - 1. Использование HF-Mirror - 2. Возобновление загрузки
Обучение
Вывод
Адаптер
Хунюань-Субтитер
Ускорение (для Linux)
БибТекс
Начать историю
Мы представляем Hunyuan-DiT, диффузионный преобразователь текста в изображение с детальным пониманием английского и китайского языков. Чтобы построить Hunyuan-DiT, мы тщательно спроектировали структуру преобразователя, кодировщик текста и позиционное кодирование. Мы также создаем с нуля целый конвейер данных для обновления и оценки данных для итеративной оптимизации модели. Для более детального понимания языка мы обучаем мультимодальную модель большого языка для уточнения подписей к изображениям. Наконец, Hunyuan-DiT может вести многоэтапный мультимодальный диалог с пользователями, генерируя и уточняя изображения в соответствии с контекстом. Благодаря нашему тщательно разработанному протоколу комплексной человеческой оценки с участием более 50 профессиональных оценщиков, Hunyuan-DiT устанавливает новый уровень развития генерации изображений на китайском языке по сравнению с другими моделями с открытым исходным кодом.
Hunyuan-DiT — это модель диффузии в скрытом пространстве, как показано на рисунке ниже. Следуя модели скрытой диффузии, мы используем предварительно обученный вариационный автоэнкодер (VAE) для сжатия изображений в низкоразмерные скрытые пространства и обучаем модель диффузии для изучения распределения данных с помощью моделей диффузии. Наша диффузионная модель параметризована преобразователем. Для кодирования текстовых подсказок мы используем комбинацию предварительно обученного двуязычного (английского и китайского) CLIP и многоязычного кодировщика T5.
Понимание инструкций на естественном языке и выполнение многоэтапного взаимодействия с пользователями важны для системы преобразования текста в изображение. Это может помочь построить динамичный и итеративный процесс создания, который шаг за шагом воплощает идею пользователя в реальность. В этом разделе мы подробно расскажем, как мы даем Hunyuan-DiT возможность выполнять многораундовые разговоры и генерировать изображения. Мы обучаем MLLM понимать многоэтапный диалог пользователя и выводить новую текстовую подсказку для генерации изображения.
Чтобы всесторонне сравнить возможности генерации HunyuanDiT и других моделей, мы создали 4-мерный тестовый набор, включая согласованность текста и изображения, исключение артефактов искусственного интеллекта, четкость предмета, эстетику. Оценку проводят более 50 профессиональных оценщиков.
Модель | Открытый исходный код | Согласованность текста и изображения (%) | Без учета артефактов ИИ (%) | Ясность темы (%) | Эстетика (%) | Общий (%) | ||||
---|---|---|---|---|---|---|---|---|---|---|
SDXL | ✔ | 64,3 | 60,6 | 91,1 | 76,3 | 42,7 | ||||
ПиксАрт-α | ✔ | 68,3 | 60,9 | 93,2 | 77,5 | 45,5 | ||||
Детская площадка 2.5 | ✔ | 71,9 | 70,8 | 94,9 | 83,3 | 54,3 | ||||
СД 3 | ✘ | 77,1 | 69,3 | 94,6 | 82,5 | 56,7 | ||||
MidJourney v6 | ✘ | 73,5 | 80,2 | 93,5 | 87,2 | 63,3 | ||||
ДАЛЛ-И 3 | ✘ | 83,9 | 80,3 | 96,5 | 89,4 | 71,0 | ||||
Хунюань-ДиТ | ✔ | 74,2 | 74,3 | 95,4 | 86,6 | 59,0 |
Китайские элементы
Ввод длинного текста
Многооборотная генерация Text2Image
Этот репозиторий состоит из DialogGen (модель быстрого улучшения) и Hunyuan-DiT (модель преобразования текста в изображение).
В следующей таблице показаны требования для запуска моделей (размер пакета = 1):
Модель | --load-4bit (ДиалогГен) | Пиковая память графического процессора | графический процессор |
---|---|---|---|
DialogGen + Hunyuan-DiT | ✘ | 32Г | А100 |
DialogGen + Hunyuan-DiT | ✔ | 22Г | А100 |
Хунюань-ДиТ | - | 11Г | А100 |
Хунюань-ДиТ | - | 14Г | РТХ3090/РТХ4090 |
Требуется графический процессор NVIDIA с поддержкой CUDA.
Мы протестировали графические процессоры V100 и A100.
Минимум : Минимальный требуемый объем памяти графического процессора составляет 11 ГБ.
Рекомендуется : мы рекомендуем использовать графический процессор с 32 ГБ памяти для лучшего качества генерации.
Протестированная операционная система: Linux.
Начните с клонирования репозитория:
git-клон https://github.com/tencent/HunyuanDiTcd HunyuanDiT
Мы предоставляем файл environment.yml
для настройки среды Conda. Инструкции по установке Conda доступны здесь.
Мы рекомендуем версии CUDA 11.7 и 12.0+.
# 1. Подготовьте среду condaconda env create -f Environment.yml# 2. Активируйте средуconda active HunyuanDiT# 3. Установите зависимости pippython -m pip install -r требования.txt# 4. Установите флэш-внимание v2 для ускорения (требуется CUDA 11.6 или выше) установка python -m pip git+https://github.com/Dao-AILab/[email protected]
Кроме того, вы также можете использовать Docker для настройки среды.
# 1. Используйте следующую ссылку, чтобы загрузить tar-файл образа Docker.# Для CUDA 12wget https://dit.hunyuan.tencent.com/download/HunyuanDiT/hunyuan_dit_cu12.tar# Для CUDA 11wget https://dit.hunyuan. tencent.com/download/HunyuanDiT/hunyuan_dit_cu11.tar# 2. Импортируйте tar-файл Docker. и показать метаинформацию изображения# Для загрузки CUDA 12docker -i hunyuan_dit_cu12.tar# Для загрузки CUDA 11docker -i hunyuan_dit_cu11.tar docker image ls# 3. Запустить контейнер на основе imagedocker run -dit --gpus all --init --net=host --uts=host --ipc=host --name hunyuandit --security-opt=seccomp= unconfined --ulimit=stack=67108864 --ulimit=memlock=-1 --privileged docker_image_tag
Чтобы загрузить модель, сначала установите файлhuggingface-cli. (Подробные инструкции доступны здесь.)
python -m pip install "huggingface_hub[cli]"
Затем загрузите модель, используя следующие команды:
# Создайте каталог с именем «ckpts», в котором будет сохранена модель, выполнив предварительные условия для запуска demo.mkdir ckpts# Используйте инструмент Huggingface-cli для загрузки модели.# Время загрузки может варьироваться от 10 минут до 1 часа в зависимости от в условиях сети.huggingface-cli скачать Tencent-Hunyuan/HunyuanDiT-v1.2 --local-dir ./ckpts
Если вы столкнулись с низкой скоростью загрузки в Китае, вы можете попробовать зеркало, чтобы ускорить процесс загрузки. Например,
HF_ENDPOINT=https://hf-mirror.com humgingface-cli скачать Tencent-Hunyuan/HunyuanDiT-v1.2 --local-dir ./ckpts
huggingface-cli
поддерживает возобновление загрузки. Если загрузка прервана, вы можете просто повторно запустить команду загрузки, чтобы возобновить процесс загрузки.
Примечание. Если в процессе загрузки возникает ошибка No such file or directory: 'ckpts/.huggingface/.gitignore.lock'
, вы можете игнорировать эту ошибку и повторно запустить команду загрузки.
Все модели будут загружены автоматически. Для получения дополнительной информации о модели посетите репозиторий Hugging Face здесь.
Модель | #Параметры | URL-адрес загрузки Huggingface | URL-адрес загрузки облака Tencent |
---|---|---|---|
мТ5 | 1,6Б | мТ5 | мТ5 |
КЛИП | 350М | КЛИП | КЛИП |
токенизатор | - | токенизатор | токенизатор |
ДиалогГен | 7.0Б | ДиалогГен | ДиалогГен |
sdxl-vae-fp16-fix | 83М | sdxl-vae-fp16-fix | sdxl-vae-fp16-fix |
Hunyuan-DiT-v1.0 | 1,5Б | Хунюань-ДиТ | Hunyuan-DiT-v1.0 |
Hunyuan-DiT-v1.1 | 1,5Б | Hunyuan-DiT-v1.1 | Hunyuan-DiT-v1.1 |
Hunyuan-DiT-v1.2 | 1,5Б | Hunyuan-DiT-v1.2 | Hunyuan-DiT-v1.2 |
Демо-данные | - | - | Демо-данные |
Обратитесь к командам ниже, чтобы подготовить обучающие данные.
Установить зависимости
Мы предлагаем эффективную библиотеку управления данными под названием IndexKits, поддерживающую управление чтением сотен миллионов данных во время обучения. Подробнее см. в документации.
#1 Установка зависимостей cd HunyuanDiT pip install -e ./IndexKits
Загрузка данных
Не стесняйтесь загрузить демонстрационную версию данных.
# 2 Загрузка данныхwget -O ./dataset/data_demo.zip https://dit.hunyuan.tencent.com/download/HunyuanDiT/data_demo.zip разархивируйте ./dataset/data_demo.zip -d ./dataset mkdir ./dataset/porcelain/arrows ./dataset/porcelain/jsons
Преобразование данных
Создайте CSV-файл для обучающих данных с полями, перечисленными в таблице ниже.
Поля | Необходимый | Описание | Пример |
---|---|---|---|
image_path | Необходимый | путь к изображению | ./dataset/porcelain/images/0.png |
text_zh | Необходимый | текст | 青花瓷风格,一只蓝色的鸟儿站在蓝色的花瓶上,周围点缀着白色花朵,背景是白色 |
md5 | Необязательный | изображение md5 (алгоритм дайджеста сообщения 5) | d41d8cd98f00b204e9800998ecf8427e |
width | Необязательный | ширина изображения | 1024 |
height | Необязательный | высота изображения | 1024 |
️ Необязательные поля, такие как MD5, ширина и высота, можно опустить. Если этот параметр опущен, приведенный ниже сценарий автоматически их вычислит. Этот процесс может занять много времени при работе с крупномасштабными обучающими данными.
Мы используем Arrow для формата обучающих данных, предлагая стандартное и эффективное представление данных в памяти. Предоставляется сценарий преобразования для преобразования файлов CSV в формат Arrow.
# 3 Преобразование данных python ./hydit/data_loader/csv2arrow.py ./dataset/porcelain/csvfile/image_text.csv ./dataset/porcelain/arrows 1
Выбор данных и создание файла конфигурации
Мы настраиваем данные обучения через файлы YAML. В этих файлах вы можете настроить стандартные стратегии обработки данных для фильтрации, копирования, дедупликации и т. д., касающихся обучающих данных. Дополнительные сведения см. в разделе ./IndexKits.
Образец файла см. в файле. Полный файл конфигурации параметров см. в файле.
Создайте индексный файл данных обучения, используя файл YAML.
# Подготовка данных с одним разрешением idk base -c dataset/yamls/porcelain.yaml -t dataset/porcelain/jsons/porcelain.json # Подготовка данных с несколькими разрешениями idk multireso -c dataset/yamls/porcelain_mt.yaml -t dataset/porcelain/jsons/porcelain_mt.json
Структура каталогов для набора данных porcelain
:
компакт-диск ./набор данных фарфор ├──images/ (файлы изображений) │ ├──0.png │ ├──1.png │ ├──...... ├──csvfile/ (файлы CSV, содержащие пары текст-изображение) │ ├──image_text.csv ├──arrows/ (файлы стрелок, содержащие все необходимые тренировочные данные) │ ├──00000.стрелка │ ├──00001.arrow │ ├──...... ├──jsons/ (индексные файлы окончательных данных обучения, которые считывают данные из файлов стрелок во время обучения) │ ├──porcelain.json │ ├──porcelain_mt.json
Требование:
Минимальное требование — один графический процессор с объемом памяти не менее 20 ГБ, но мы рекомендуем использовать графический процессор с объемом памяти около 30 ГБ, чтобы избежать разгрузки памяти хоста.
Кроме того, мы рекомендуем пользователям использовать несколько графических процессоров на разных узлах, чтобы ускорить обучение на больших наборах данных.
Уведомление:
Персональные пользователи также могут использовать легкий Kohya для точной настройки модели с объемом памяти около 16 ГБ. В настоящее время мы пытаемся еще больше сократить использование памяти нашей инфраструктурой отраслевого уровня для личных пользователей.
Если у вас достаточно памяти графического процессора, попробуйте удалить --cpu-offloading
или --gradient-checkpointing
чтобы сократить временные затраты.
В частности, для распределенного обучения у вас есть возможность контролировать обучение с одним или несколькими узлами , настраивая такие параметры, как --hostfile
и --master_addr
. Более подробную информацию смотрите по ссылке.
# Обучение с одним разрешениемPYTHONPATH=./ sh hydit/train.sh --index-file dataset/porcelain/jsons/porcelain.json# Обучение с несколькими разрешениямиPYTHONPATH=./ sh hydit/train.sh --index-file dataset/porcelain/jsons /porcelain_mt.json --multireso --reso-step 64# Обучение со старой версией HunyuanDiT (<= v1.1)PYTHONPATH=./sh hydit/train_v1.1.sh --index-file dataset/porcelain/jsons/porcelain.json
После сохранения контрольных точек вы можете использовать следующую команду для оценки модели.
# Вывод # Вам следует заменить 'log_EXP/xxx/checkpoints/final.pt' на ваш фактический путь.python sample_t2i.py --infer-mode fa --prompt "青花瓷风格,一只可爱的哈士奇" --no-enhance - -dit-weight log_EXP/xxx/checkpoints/final.pt --load-key Module# Старая версия HunyuanDiT (<= v1.1)# Вам следует заменить 'log_EXP/xxx/checkpoints/final.pt' на ваш фактический путь.python sample_t2i.py --infer-mode fa - -prompt "青花瓷风格,一只可爱的哈士奇" --model-root ./HunyuanDiT-v1.1 --use-style-cond --size-cond 1024 1024 --beta-end 0.03 --no-enhance --dit-weight log_EXP/xxx/checkpoints/final.pt --load- ключевой модуль
Мы предоставляем сценарии обучения и вывода для LoRA, подробно описанные в файле ./lora.
# Обучение фарфору LoRA.PYTHONPATH=./ sh lora/train_lora.sh --index-file dataset/porcelain/jsons/porcelain.json# Вывод с использованием обученного LORA Weights.python sample_t2i.py --infer-mode fa --prompt "青花瓷风格,一只小狗" --no-enhance --lora-ckpt log_EXP/001-lora_porcelain_ema_rank64/checkpoints/0001000.pt
Мы предлагаем два типа обучаемых гирь LoRA для porcelain
и jade
, подробности смотрите по ссылкам.
cd HunyuanDiT# Используйте инструментhuggingface-cli для загрузки файла model.huggingface-cli. Загрузите Tencent-Hunyuan/HYDiT-LoRA --local-dir ./ckpts/t2i/lora# Быстрый стартpython sample_t2i.py --infer-mode fa - -быстрый "青花瓷风格,一只猫在追蝴蝶" --no-enhance --load-key ema --lora-ckpt ./ckpts/t2i/lora/porcelain
Примеры обучающих данных | |||
青花瓷风格,一只蓝色的鸟儿站在蓝色的花瓶上,周围点缀着白色花朵,背景是白色(Фарфоровый стиль: синяя птица стоит на синей вазе, окруженная белыми цветами, на белом фоне. ) | 青花瓷风格,这是一幅蓝白相间的陶瓷盘子,上面描绘着一只狐狸和它的幼崽在森林中漫步,背景是白色(Фарфоровый стиль, это сине-белая керамическая тарелка с изображением лисы и ее детенышей, прогуливающихся по лесу, на белом фоне.) | 青花瓷风格,在黑色背景上,一只蓝色的狼站在蓝白相间的盘子上,周围是树木和月亮(Фарфоровый стиль, на черном фоне синий волк стоит на сине-белой тарелке, в окружении деревьев и луны.) | 青花瓷风格,在蓝色背景上,一只蓝色蝴蝶和白色花朵被放置在中央 (Фарфоровый стиль, на синем фоне помещены голубая бабочка и белые цветы. центр.) |
Примеры результатов вывода | |||
青花瓷风格,苏州园林 (Фарфоровый стиль, сады Сучжоу.) | 青花瓷风格,一朵荷花 (Фарфоровый стиль, цветок лотоса.) | 青花瓷风格,一只羊(Фарфоровый стиль, овца.) | 青花瓷风格,一个女孩在雨中跳舞(Фарфоровый стиль, девушка танцует под дождем.) |
Запуск HunyuanDiT в видеопамяти графического процессора объемом менее 6 ГБ теперь доступен на основе диффузоров. Здесь мы предоставляем инструкции и демонстрацию для быстрого старта.
Версия на 6 ГБ поддерживает видеокарты серии Nvidia Ampere, такие как RTX 3070/3080/4080/4090, A100 и так далее.
Единственное, что вам нужно сделать, это установить следующую библиотеку:
pip install -U биты и байты pip install git+https://github.com/huggingface/diffusers пип установить факел == 2.0.0
Тогда вы сможете наслаждаться путешествием по преобразованию текста в изображение HunyuanDiT напрямую с видеопамятью графического процессора объемом 6 ГБ!
Вот демо для вас.
cd HunyuanDiT# Быстрый стартmodel_id=Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers-Distilled подсказка = 一个宇航员在骑马 infer_steps=50 guide_scale=6 python3 lite/inference.py ${model_id} ${prompt} ${infer_steps} ${guidance_scale}
Более подробную информацию можно найти в ./lite.
Прежде чем запускать следующую команду, убедитесь, что среда conda активирована.
# По умолчанию мы запускаем китайский интерфейс. Использование Flash Attention для ускорения.python app/hydit_app.py --infer-mode fa# Вы можете отключить модель улучшения, если памяти графического процессора недостаточно.# Улучшение будет недоступно, пока вы не перезапустите приложение без `--no- флаг улучшения. python app/hydit_app.py --no-enhance --infer-mode fa# Начать с английского UIpython app/hydit_app.py --lang en --infer-mode fa# Запустить многоходовой пользовательский интерфейс генерации T2I. # Если объем памяти вашего графического процессора меньше 32 ГБ, используйте --load-4bit, чтобы включить 4-битное квантование, для которого требуется не менее 22 ГБ памяти.python app/multiTurnT2I_app.py --infer-mode fa
Тогда доступ к демо можно будет получить через http://0.0.0.0:443. Следует отметить, что 0.0.0.0 здесь должен быть XXXX с IP-адресом вашего сервера.
Пожалуйста, заранее установите PyTorch версии 2.0 или выше, чтобы удовлетворить требованиям указанной версии библиотеки диффузоров.
Установите диффузоры, убедившись, что версия не ниже 0.28.1:
pip install git+https://github.com/huggingface/diffusers.git
или
диффузоры для установки в пип
Вы можете создавать изображения с подсказками на китайском и английском языках, используя следующий скрипт Python:
import torchfrom диффузоры import HunyuanDiTPipelinepipe = HunyuanDiTPipeline.from_pretrained("Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers", torch_dtype=torch.float16)pipe.to("cuda")# Вы также можете использовать подсказку на английском языке, поскольку HunyuanDiT поддерживает оба языка: и китайский# Prompt = «Космонавт верхом на лошади» Prompt = "一个宇航员在骑马"image = труба(подсказка).images[0]
Вы можете использовать нашу упрощенную модель для еще более быстрого создания изображений:
import torchfrom диффузоры import HunyuanDiTPipelinepipe = HunyuanDiTPipeline.from_pretrained("Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers-Distilled", torch_dtype=torch.float16)pipe.to("cuda")# Вы также можете использовать подсказку на английском языке, поскольку HunyuanDiT поддерживает на английском и китайском языке# Prompt = «Астронавт, едущий на лошадь"prompt = "一个宇航员在骑马"image = труба(подсказка, num_inference_steps=25).images[0]
Более подробную информацию можно найти в HunyuanDiT-v1.2-Diffusers-Distilled.
Дополнительные функции: Чтобы узнать о других функциях, таких как LoRA и ControlNet, ознакомьтесь с README файла ./diffusers.
Мы предоставляем несколько команд для быстрого запуска:
# Только преобразование текста в изображение. Режим Flash Attentionpython sample_t2i.py --infer-mode fa --prompt "渔舟唱晚" --no-enhance# Создать изображение с другими размерами изображения.python sample_t2i.py --infer-mode fa --prompt "渔舟唱晚" --image-size 1280 768# Быстрое улучшение + преобразование текста в изображение. DialogGen загружается с 4-битным квантованием, но может снизить производительность.python sample_t2i.py --infer-mode fa --prompt "渔舟唱晚" --load-4bit
Дополнительные примеры подсказок можно найти в файле example_prompts.txt.
Перечислим еще несколько полезных конфигураций для удобства использования:
Аргумент | По умолчанию | Описание |
---|---|---|
--prompt | Никто | Текстовая подсказка для создания изображения |
--image-size | 1024 1024 | Размер создаваемого изображения |
--seed | 42 | Случайное начальное число для генерации изображений |
--infer-steps | 100 | Количество шагов отбора проб |
--negative | - | Негативная подсказка для создания изображения |
--infer-mode | факел | Режим вывода (факел, fa или trt) |
--sampler | ддпм | Диффузионный пробоотборник (ddpm, ddim или dpmms) |
--no-enhance | ЛОЖЬ | Отключить модель быстрого улучшения |
--model-root | кпты | Корневой каталог контрольных точек модели. |
--load-key | эма | Загрузите модель студента или модель EMA (ema или модуль) |
--load-4bit | Фасле | Загрузите модель DialogGen с 4-битным квантованием |
Поддерживайте два рабочих процесса: стандартный ComfyUI и Diffusers Wrapper, первый из которых рекомендуется.
Поддержка HunyuanDiT-v1.1 и v1.2.
Модуль поддержки, модели лоры и клип-лоры, обученные Кохьей.
Модуль поддержки, модели lora, обученные с помощью официальных обучающих сценариев HunyunDiT.
ControlNet скоро появится.
Более подробную информацию можно найти в ./comfyui-hydit.
Мы поддерживаем пользовательские коды для графического интерфейса kohya_ss и коды обучения sd-скриптов для HunyuanDiT. Более подробную информацию можно найти в ./kohya_ss-hydit.
Хунюань-ДиТ <= v1.1
# ============================= v1.1 =============== ==============# Загрузите модельhuggingface-cli, загрузите Tencent-Hunyuan/HunyuanDiT-v1.1 --local-dir ./HunyuanDiT-v1.1# Вывод с помощью modelpython sample_t2i.py --infer-mode fa --prompt "渔舟唱晚" --model-root ./HunyuanDiT-v1.1 --use-style-cond --size-cond 1024 1024 --beta -конец 0.03# ============================= v1.0 ================ =============# Загрузите модельhuggingface-cli, загрузите Tencent-Hunyuan/HunyuanDiT --local-dir ./HunyuanDiT-v1.0# Вывод с помощью modelpython sample_t2i.py --infer-mode fa --prompt "渔舟唱晚" --model-root ./HunyuanDiT-v1.0 --use-style-cond --size-cond 1024 1024 --beta-end 0.03
Мы предоставляем сценарии обучения для ControlNet, подробно описанные в файле ./controlnet.
# Обучение хитрому ControlNet.PYTHONPATH=./sh hydit/train_controlnet.sh
Мы предлагаем три типа обученных гирь ControlNet для depth
и canny
, подробности см pose
по ссылкам.
cd HunyuanDiT# Используйте инструмент Huggingface-cli для загрузки модели.# Мы рекомендуем использовать дистиллированные веса в качестве базовой модели для вывода ControlNet, поскольку наши предварительно обученные веса обучаются на них. Huggingface-cli скачать Tencent-Hunyuan/HYDiT-ControlNet- v1.2 --local-dir ./ckpts/t2i/controlnet Huggingface-cli скачать Tencent-Hunyuan/Distillation-v1.2 ./pytorch_model_distill.pt --local-dir ./ckpts/t2i/model# Быстрый стартpython3 sample_controlnet.py --infer-mode fa --no-enhance --load -key distill --infer-steps 50 --control-type canny --prompt "在夜晚的酒店门前,一座古老的中国风格的狮子雕像矗立着" ,它的眼睛闪烁着光芒,仿佛在守护着这座建筑。背景是夜晚的酒店前, 构图方式是特写, 平视, 居中构图。这张照片呈现了真实摄影风格,蕴含了中国雕塑文化,同时展现了神秘氛围" --condition-image-path controlnet/asset/input/canny.jpg --control-weight 1.0
Ввод условия | ||
Канни ControlNet | Сеть контроля глубины | Поза ControlNet |
在夜晚的酒店门前,一座古老的中国风格的狮子雕像矗立着,它的眼睛闪烁着光芒,仿佛在守护着这座建筑。背景是夜晚的酒店前, 构图方式是特写, 平视, 居中构图。这张照 фото в 呈现了真实摄影风格,蕴含了中国雕塑文化,同时展现了神秘氛围(At Ночью перед отелем стоит древняя статуя льва в китайском стиле, ее глаза блестят, как будто охраняя здание. На заднем плане — вход в отель ночью, композиция крупным планом, на уровне глаз и по центру. Эта фотография представляет собой реалистичный фотографический стиль, воплощает культуру китайской скульптуры и раскрывает загадочную атмосферу.) | 在茂密的森林中,一只黑白相间的熊猫静静地坐在绿树红花中, 周围是山川和海洋。背景是白天的森林,光线充足。照片采用特写、平视和居中构图的方式,呈现出写实的效果(In В густом лесу черно-белая панда тихо сидит среди зеленых деревьев и красных цветов, в окружении гор и океанов. Фоном является дневной лес с достаточным освещением. На фотографии использован крупный план, композиция на уровне глаз и по центру для создания реалистичного эффекта.) | 在白天的森林中,一位穿着绿色上衣的亚洲女性站在大象旁边。照片采用了中景、平视和居中构图的方式,呈现出写实的效果。这张照 фото含了人物摄影文化,并展现了宁静的氛围(In В дневном лесу азиатка в зеленой рубашке стоит рядом со слоном. На фотографии использован средний план, расположение на уровне глаз и центрированная композиция для создания реалистичного эффекта. Эта фотография воплощает культуру фотографии персонажей и передает безмятежную атмосферу.) |
Выход ControlNet | ||
Hunyuan-Captioner удовлетворяет потребности методов преобразования текста в изображение, поддерживая высокую степень согласованности изображения и текста. Он может генерировать высококачественные описания изображений с разных точек зрения, включая описание объекта, отношения объектов, фоновую информацию, стиль изображения и т. д. Наш код основан на реализации LLaVA.
а. Установить зависимости
Зависимости и установка в основном такие же, как и у базовой модели .
б. Загрузка модели
# Используйте инструментhuggingface-cli, чтобы загрузить файл model.huggingface-cli. Загрузите Tencent-Hunyuan/HunyuanCaptioner --local-dir ./ckpts/captioner
Наша модель поддерживает три различных режима, в том числе: непосредственное создание подписей на китайском языке , создание подписей на китайском языке на основе конкретных знаний и непосредственное создание подписей на английском языке . Вводимая информация может представлять собой либо точные сигналы, либо громкие ярлыки (например, необработанные описания, взятые из Интернета). Модель способна генерировать надежные и точные описания на основе как вставленной информации, так и содержимого изображения.
Режим | Шаблон подсказки | Описание |
---|---|---|
caption_zh | 描述这张图 фото | Подпись на китайском |
вставить_контент | 根据提示词“{}”, 描述这张图 фото | Подпись со вставленными знаниями |
caption_ru | Пожалуйста, опишите содержание этого изображения | Подпись на английском языке |
а. Вывод по одной картинке на китайском языке
python mllm/caption_demo.py --mode "caption_zh" --image_file "mllm/images/demo1.png" --model_path "./ckpts/captioner"
б. Вставьте конкретные знания в заголовок
python mllm/caption_demo.py --mode "insert_content" --content "宫保鸡丁" --image_file "mllm/images/demo2.png" --model_path "./ckpts/captioner"
в. Вывод по одной картинке на английском языке
python mllm/caption_demo.py --mode "caption_en" --image_file "mllm/images/demo3.png" --model_path "./ckpts/captioner"
д. Вывод из нескольких изображений на китайском языке