该存储库包含我们探索 Hunyuan-DiT 的论文的 PyTorch 模型定义、预训练权重和推理/采样代码。您可以在我们的项目页面上找到更多可视化效果。
Hunyuan-DiT:强大的多分辨率扩散变压器,具有细粒度的中文理解
DialogGen:用于多轮文本到图像生成的多模态交互式对话系统
2024年7月15日:HunYuanDiT与Shakker.Ai联合发起基于HunYuanDiT 1.2模型的微调活动。通过发布基于HunYuanDiT的lora或微调模型,您可以从Shakker.Ai获得高达230美元的奖金。有关更多详细信息,请参阅 Shakker.Ai。
2024 年 7 月 15 日:?更新 ComfyUI 以支持标准化工作流程,并与 t2i 模块的权重和版本 1.1/1.2 的 Lora 训练以及 Kohya 或官方脚本训练的权重兼容。有关详细信息,请参阅 ComfyUI。
2024 年 7 月 15 日:⚡ 我们为 CUDA 11/12 提供 Docker 环境,让您绕过复杂的安装,只需单击一下即可开始使用!详情请参阅码头工人。
2024 年 7 月 8 日:? HYDiT-v1.2版本发布。更多详情请查看HunyuanDiT-v1.2和Distillation-v1.2。
2024 年 7 月 3 日:? Kohya-hydit 版本现在可用于 v1.1 和 v1.2 模型,并带有用于推理的 GUI。 Kohya 官方版本正在审核中。详情请参阅科希亚。
2024 年 6 月 27 日:? Hunyuan-Captioner 发布,为训练数据提供细粒度的字幕。有关详细信息,请参阅 mllm。
2024 年 6 月 27 日:?支持扩散器中的 LoRa 和 ControlNet。详情请参阅扩散器。
2024 年 6 月 27 日:? 6GB GPU VRAM 推理脚本发布。详情请参阅精简版。
2024 年 6 月 19 日:? ControlNet发布,支持canny、位姿和深度控制。有关详细信息,请参阅训练/推理代码。
2024年6月13日:⚡ HYDiT-v1.1版本发布,缓解图像过饱和问题,缓解水印问题。更多详情请查看HunyuanDiT-v1.1和Distillation-v1.1。
2024 年 6 月 13 日:?训练代码发布,提供全参数训练和LoRA训练。
2024 年 6 月 6 日:?混元-DiT 现已在 ComfyUI 中提供。请查看 ComfyUI 了解更多详情。
2024年6月6日:我们推出了Hunyuan-DiT加速的Distillation版本,在NVIDIA GPU上实现了50%的加速。请查看蒸馏了解更多详细信息。
2024 年 6 月 5 日:?混源-DiT 现已推出?扩散器!请检查下面的示例。
2024年6月4日:支持腾讯云链接下载预训练模型!请检查下面的链接。
2024年5月22日:我们推出了Hunyuan-DiT加速的TensorRT版本,在NVIDIA GPU上实现了47%的加速。请检查 TensorRT-libs 以获取说明。
2024 年 5 月 22 日:我们现在支持运行多轮 text2image 生成的演示。请检查下面的脚本。
欢迎来到我们基于网络的腾讯混元机器人,在这里您可以探索我们的创新产品!只需输入下面的建议提示或任何其他包含绘图相关关键字的富有想象力的提示,即可激活混元文字转图像生成功能。 释放您的创造力并创建您想要的任何图片,全部免费!
您可以使用类似于自然语言文本的简单提示
画一件穿着衣服的猪
画一只穿西装的猪
生成一文艺复兴,赛博朋克风,中世纪
生成一幅画,赛博朋克风格,跑车
或多轮语言交互来创建图片。
画一只木制的鸟
画一只木鸟
变成玻璃的
变成玻璃
浑源-DiT(文本转图像模型)
推理
检查站
蒸馏版
TensorRT版本
训练
劳拉
Controlnet(姿势、精明、深度)
6GB GPU VRAM 推理
IP适配器
浑源-DiT-S检查站(0.7B模型)
米勒姆
推理
推理
Hunyuan-Captioner(为原始图像文本对重新添加字幕)
混源-DialogGen(提示增强模型)
网络演示(广播)
多圈 T2I 演示(无线电)
命令行演示
舒适用户界面
扩散器
科亚
网页界面
Hunyuan-DiT:一个强大的多分辨率扩散变压器,具有细粒度的中文理解
示例
指示
推理
格拉迪奥
控制网
6GB GPU VRAM 推理
使用渐变
使用 ?扩散器
使用命令行
更多配置
使用 ComfyUI
使用 Kohya
使用以前的版本
数据准备
全参数训练
洛拉
Linux 安装指南
中英双语DiT架构
多轮 Text2Image 生成
消息!!
在网络上尝试一下
开源计划
内容
抽象的
混源-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维测试集,包括文本图像一致性、排除AI伪影、主题清晰度、审美。超过50名专业评估人员进行评估。
模型 | 开源 | 文图一致性(%) | 排除 AI 伪影 (%) | 主题清晰度 (%) | 美观(%) | 全面的 (%) | ||||
---|---|---|---|---|---|---|---|---|---|---|
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 | ||||
中途旅行 v6 | ✘ | 73.5 | 80.2 | 93.5 | 87.2 | 63.3 | ||||
达尔-E 3 | ✘ | 83.9 | 80.3 | 96.5 | 89.4 | 71.0 | ||||
浑源-DiT | ✔ | 74.2 | 74.3 | 95.4 | 86.6 | 59.0 |
中国元素
长文本输入
多轮 Text2Image 生成
该存储库由DialogGen(提示增强模型)和Hunyuan-DiT(文本到图像模型)组成。
下表显示了运行模型的要求(批量大小 = 1):
模型 | --load-4bit (DialogGen) | GPU 峰值内存 | 图形处理器 |
---|---|---|---|
DialogGen + 浑源-DiT | ✘ | 32G | A100 |
DialogGen + 浑源-DiT | ✔ | 22G | A100 |
浑源-DiT | - | 11G | A100 |
浑源-DiT | - | 14G | RTX3090/RTX4090 |
需要支持 CUDA 的 NVIDIA GPU。
我们测试了 V100 和 A100 GPU。
最低:所需的最低 GPU 内存为 11GB。
推荐:我们建议使用具有 32GB 内存的 GPU,以获得更好的生成质量。
测试操作系统:Linux
首先克隆存储库:
git克隆 https://github.com/tencent/HunyuanDiTcd HunyuanDiT
我们提供了一个environment.yml
文件用于设置Conda 环境。 Conda 的安装说明可在此处获取。
我们推荐 CUDA 版本 11.7 和 12.0+。
# 1. 准备conda环境conda env create -fenvironment.yml# 2. 激活环境conda activate HunyuanDiT# 3. 安装pip依赖python -m pip install -rrequirements.txt# 4. 安装flash Attention v2进行加速(需要CUDA 11.6或上面)python -m pip install git+https://github.com/Dao-AILab/[email protected]
另外,您还可以使用docker来设置环境。
# 1. 使用以下链接下载 docker 镜像 tar 文件。# For CUDA 12wget https://dit.hunyuan.tencent.com/download/HunyuanDiT/hunyuan_dit_cu12.tar# For CUDA 11wget https://dit.hunyuan. tencent.com/download/HunyuanDiT/hunyuan_dit_cu11.tar# 2.导入docker tar文件并显示镜像meta信息# For CUDA 12docker load -i hunyuan_dit_cu12.tar# For CUDA 11docker load -i hunyuan_dit_cu11.tar docker image ls# 3.基于镜像运行容器docker run -dit --gpus all --init --net=host --uts=host --ipc=host --name hunyuandit --security-opt=seccomp=无限制 --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 Huggingface-cli下载Tencent-Hunyuan/HunyuanDiT-v1.2 --local-dir ./ckpts
huggingface-cli
支持恢复下载。如果下载中断,只需重新运行下载命令即可恢复下载过程。
注意:如果在下载过程中出现No such file or directory: 'ckpts/.huggingface/.gitignore.lock'
之类的错误,您可以忽略该错误并重新运行下载命令。
所有模型都会自动下载。有关该模型的更多信息,请访问此处的 Hugging Face 存储库。
模型 | #参数 | 拥抱脸 下载地址 | 腾讯云下载地址 |
---|---|---|---|
mT5 | 1.6B | mT5 | mT5 |
夹子 | 350M | 夹子 | 夹子 |
分词器 | - | 分词器 | 分词器 |
对话生成器 | 7.0B | 对话生成器 | 对话生成器 |
sdxl-vae-fp16-修复 | 83M | sdxl-vae-fp16-修复 | sdxl-vae-fp16-修复 |
混源-DiT-v1.0 | 1.5B | 浑源-DiT | 混源-DiT-v1.0 |
浑源-DiT-v1.1 | 1.5B | 浑源-DiT-v1.1 | 浑源-DiT-v1.1 |
浑源-DiT-v1.2 | 1.5B | 浑源-DiT-v1.2 | 浑源-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。
有关示例文件,请参阅文件。完整的参数配置文件,请参见 file.
使用 YAML 文件创建训练数据索引文件。
# 单分辨率数据准备 idk base -c dataset/yamls/porcelain.yaml -t dataset/porcelain/jsons/porcelain.json # 多分辨率数据准备 idk multireso -c 数据集/yamls/porcelain_mt.yaml -t 数据集/porcelain/jsons/porcelain_mt.json
porcelain
数据集的目录结构为:
cd ./数据集 瓷 ├──images/(图像文件) │ ├──0.png │ ├──1.png │ ├──…… ├──csvfile/(包含文本-图像对的csv文件) │ ├──image_text.csv ├──arrows/(包含所有必要训练数据的箭头文件) │ ├──00000.箭头 │ ├──00001.箭头 │ ├──…… ├──jsons/(最终训练数据索引文件,在训练过程中从箭头文件读取数据) │ ├──瓷器.json │ ├──porcelain_mt.json
要求:
最低要求是具有至少 20GB 内存的单个 GPU,但我们建议使用具有约 30GB 内存的 GPU,以避免主机内存卸载。
此外,我们鼓励用户利用跨不同节点的多个 GPU 来加速大型数据集的训练。
注意:
个人用户还可以使用轻量级的 Kohya 来微调模型,内存约为 16 GB。目前,我们正在尝试进一步减少个人用户的行业级框架的内存使用量。
如果您有足够的 GPU 内存,请尝试删除--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 example_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-key 模块
我们为 LoRA 提供训练和推理脚本,详细信息请参见 ./lora.
# 瓷器训练 LoRA.PYTHONPATH=./ sh lora/train_lora.sh --index-file dataset/porcelain/jsons/porcelain.json# 使用训练好的 LORA 权重进行推理.python sample_t2i.py --infer-mode fa --prompt “青花瓷风格,一只小狗” --no-enhance --lora-ckpt log_EXP/001-lora_porcelain_ema_rank64/checkpoints/0001000.pt
我们为porcelain
和jade
提供两种经过训练的 LoRA 权重,请参阅链接的详细信息
cd HunyuanDiT# 使用huggingface-cli工具下载模型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/瓷器
训练数据示例 | |||
青花瓷风格,一只蓝色的鸟儿站在蓝色的花瓶上,周围延伸着白色的鸟,背景是白色(瓷器风格,一只蓝色的鸟站在蓝色的花瓶上,周围环绕着白色的花朵,白色的背景。 ) | 青花瓷风格,这是一个蓝白相间的陶瓷盘子,上面画着一只狐狸和它的幼崽在森林中漫步,背景是白色(瓷器风格,这是一个蓝白相间的陶瓷盘子,描绘了一只狐狸和它的幼崽)幼崽在森林里散步,背景是白色。) | 青花瓷风格,在黑色背景上,一只蓝色的狼站在蓝白相间的盘子上,周围是森林和(瓷器风格,黑色背景上,一只蓝色的狼站在蓝白相间的盘子上,周围是月亮树木和月亮。) | 青花瓷,在蓝色背景上,一只蓝色蝴蝶和白色草莓被放置在中央(瓷器风格,蓝色背景上,一只蓝色蝴蝶和白色花朵放置在中央。) |
推理结果示例 | |||
青花瓷风格,苏州园林(瓷器风格,苏州园林。) | 青花瓷风格,一朵荷花(瓷器风格,一朵莲花。) | 青花瓷风格,一只羊(瓷器风格,一只羊。) | 青花瓷风格,一个女孩在雨中跳舞(瓷器风格,一个女孩在雨中跳舞。) |
现在可以基于扩散器在低于 6GB GPU VRAM 中运行 HunyuanDiT。在这里,我们提供说明和演示,供您快速入门。
6GB版本支持RTX 3070/3080/4080/4090、A100等Nvidia Ampere架构系列显卡。
您唯一需要做的就是安装以下库:
pip install -U 位和字节 pip install git+https://github.com/huggingface/diffusers pip 安装火炬==2.0.0
然后您就可以直接在 6GB GPU VRAM 下享受您的 HunyuanDiT 文本转图像之旅了!
这是给您的演示。
cd HunyuanDiT# 快速启动model_id=Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers-Distilled 提示=一个宇航员正在骑马 推断步骤=50 指导规模=6 python3 lite/inference.py ${model_id} ${prompt} ${infer_steps} ${guidance_scale}
更多详细信息可以在 ./lite 中找到。
在运行以下命令之前,请确保 conda 环境已激活。
# 默认情况下,我们启动中文 UI。使用Flash Attention进行加速.python app/hydit_app.py --infer-mode fa#如果GPU内存不足,可以禁用增强模型。#除非您重新启动应用程序而不使用`--no-,增强功能将不可用增强`标志。 python app/hydit_app.py --no-enhance --infer-mode fa# 从英文 UI 开始 python app/hydit_app.py --lang en --infer-mode fa# 启动多轮 T2I 生成 UI。 # 如果您的 GPU 内存小于 32GB,请使用 '--load-4bit' 启用 4 位量化,这至少需要 22GB 内存。 python app/multiTurnT2I_app.py --infer-mode fa
然后可以通过http://0.0.0.0:443访问该demo。需要注意的是,这里的0.0.0.0需要XXXX加上你的服务器IP。
请提前安装PyTorch 2.0或更高版本,以满足指定版本的扩散器库的要求。
安装扩散器,确保版本至少为 0.28.1:
pip install git+https://github.com/huggingface/diffusers.git
或者
pip 安装扩散器
您可以使用以下Python脚本生成具有中英文提示的图像:
import torchfrom differs import HunyuanDiTPipelinepipe = HunyuanDiTPipeline.from_pretrained("Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers", torch_dtype=torch.float16)pipe.to("cuda")# 您也可以使用英文提示,因为 HunyuanDiT 支持英文和中文#提示=“宇航员骑马”提示= "一个宇航员在骑马"image = pipeline(prompt).images[0]
您可以使用我们的蒸馏模型更快地生成图像:
import torchfrom differs import HunyuanDiTPipelinepipe = HunyuanDiTPipeline.from_pretrained("Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers-Distilled", torch_dtype=torch.float16)pipe.to("cuda")# 您也可以使用英文提示,HunyuanDiT支持中英文#prompt = "骑马的宇航员"prompt = "一个宇航员在骑马"image = pipeline(prompt, num_inference_steps=25).images[0]
更多详细信息可以参见HunyuanDiT-v1.2-Diffusers-Distilled
更多功能:对于LoRA、ControlNet等其他功能,请查看./diffusers的README。
我们提供了几个命令来快速启动:
# 仅文本到图像。 Flash Attention模式python sample_t2i.py --infer-mode fa --prompt "渔舟唱晚" --no-enhance# 生成其他图像尺寸的图像.python example_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 | 火炬 | 推理模式(torch、fa 或 trt) |
--sampler | DDPM | 扩散采样器(ddpm、ddim 或 dpmms) |
--no-enhance | 错误的 | 禁用提示增强模型 |
--model-root | 控制点 | 模型检查点的根目录 |
--load-key | 埃玛 | 加载学生模型或EMA模型(ema或模块) |
--load-4bit | 法斯勒 | 使用 4 位量化加载 DialogGen 模型 |
支持两种工作流程:Standard ComfyUI 和 Diffusers Wrapper,推荐前者。
支持HunyuanDiT-v1.1和v1.2。
支持Kohya训练的模块、lora和clip lora模型。
支持模块,由HunyunDiT官方训练脚本训练的lora模型。
ControlNet 即将推出。
更多详细信息可以在 ./comfyui-hydit 中找到
我们支持 kohya_ss GUI 的自定义代码和 HunyuanDiT 的 sd-scripts 训练代码。更多详细信息可以在 ./kohya_ss-hydit 中找到
混元-DiT <= v1.1
# ================================ v1.1 ================ ==============# 下载模型huggingface-cli 下载Tencent-Hunyuan/HunyuanDiT-v1.1 --local-dir ./HunyuanDiT-v1.1# 使用模型进行推理python example_t2i.py --infer-mode fa --prompt "渔舟唱晚" --model-root ./HunyuanDiT-v1.1 --use-style-cond --size-cond 1024 1024 --beta-end 0.03# ====================== ======== v1.0 ================================#下载模型huggingface-cli下载 腾讯-浑源/浑源DiT --local-dir ./HunyuanDiT-v1.0# 使用模型进行推理python Sample_t2i.py --infer-mode fa --prompt "渔舟唱晚" --model-root ./HunyuanDiT-v1.0 --use-style-cond --大小条件 1024 1024 --beta-end 0.03
我们提供 ControlNet 的训练脚本,详细信息请参见 ./controlnet。
# 训练canny ControlNet.PYTHONPATH=./ sh hydit/train_controlnet.sh
我们提供三种类型的训练有素的 ControlNet 权重,用于canny
depth
和pose
,请参阅链接的详细信息
cd HunyuanDiT# 使用 Huggingface-cli 工具下载模型。# 我们建议使用蒸馏权重作为 ControlNet 推理的基础模型,因为我们提供的预训练权重是在它们上训练的。huggingface-cli 下载腾讯-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
条件输入 | ||
Canny控制网 | 深度控制网络 | 姿态控制网络 |
当晚的酒店门前,一座古老的中国风格的狮子雕像矗立着,它的眼睛闪烁着光芒,仿佛守护着这座建筑。 背景是当晚的酒店前,构图方式十分引人注目,平视,居中构图。这张照片呈现了真实的摄影风格,蕴含了中国雕塑文化,同时表演了神秘的芭(夜晚,一尊中国式的古代狮子雕像矗立在酒店门前,目光闪烁,仿佛守护着这座建筑。背景是夜晚的酒店入口,特写,视线水平,居中构图。这张照片呈现出写实的摄影风格,体现了中国雕塑文化,透露着神秘的气息。) | 在茂密的森林中,一只黑白相间的熊猫静静地坐在绿树红花中间,周围是山川和海洋。背景是白天的森林,光线充足。照片采用突出、平视和居中构图的方式,呈现出写实的效果(茂密的森林里,一只黑白熊猫静静地坐在绿树红花之间,周围是群山和海洋。背景是白天光线充足的森林。照片采用特写、视线水平、居中构图,营造出逼真的效果。) | 在白天的森林中,一位穿着绿色上衣的亚洲女性站在大象旁边。照片采用了中景、平视和居中构图的方式,呈现出写实的效果。这张照片蕴含了人物摄影文化,并表演了宁静的气氛(在白天的森林里,一位穿着绿色衬衫的亚洲女人站在大象旁边。照片采用中景、视线水平、居中构图,营造出逼真的效果。这张照片体现了人物摄影文化,传达了一种宁静的氛围。) |
控制网络输出 | ||
Hunyuan-Captioner 通过保持图像文本的高度一致性来满足文本转图像技术的需求。它可以从多个角度生成高质量的图像描述,包括物体描述、物体关系、背景信息、图像风格等。我们的代码是基于LLaVA实现的。
一个。安装依赖项
依赖关系和安装与基本模型基本相同。
b.模型下载
# 使用huggingface-cli工具下载模型。huggingface-cli下载Tencent-Hunyuan/HunyuanCaptioner --local-dir ./ckpts/captioner
我们的模型支持三种不同的模式,包括:直接生成中文字幕、基于特定知识生成中文字幕和直接生成英文字幕。注入的信息可以是准确的线索,也可以是嘈杂的标签(例如,从互联网上爬取的原始描述)。该模型能够根据插入的信息和图像内容生成可靠且准确的描述。
模式 | 提示模板 | 描述 |
---|---|---|
标题_zh | 描述这张图片 | 中文说明文字 |
插入内容 | 根据提示词“{}”,描述这张图片 | 插入知识的标题 |
标题_zh | 请描述一下这张图片的内容 | 英文字幕 |
一个。中文单图推理
python mllm/caption_demo.py --mode "caption_zh" --image_file "mllm/images/demo1.png" --model_path "./ckpts/captioner"
b.在标题中插入具体知识
python mllm/caption_demo.py --mode "insert_content" --content "宫保鸡丁" --image_file "mllm/images/demo2.png" --model_path "./ckpts/captioner"
c.英语单图推理
python mllm/caption_demo.py --mode "caption_en" --image_file "mllm/images/demo3.png" --model_path "./ckpts/captioner"
d.中文多图推理