最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
混元文生图模型Hunyuan DiT部署体验:具备强大中文创作能力的文生图模型
时间:2026-07-20 10:04:02 编辑:袖梨 来源:一聚教程网
大家好,前面在介绍腾讯开源的混元-DiT文生图大模型时立过一个Flag:就是出一篇部署教程,因为我的显卡是16G,正好能满足最低的显存要求,之前也有朋友留言对这个比较感兴趣,所以今天,它来了!

需要注意的是本次部署要求的电脑显卡必须达到显存11G以上,如果你想体验多轮对话的话显存需32G以上。
本次教程也不再赘述显卡驱动以及Cuda的安装,感兴趣的可以阅读我之前的文章:
《Ubuntu22.04 安装NVIDIA驱动(吐血版)》
《Ubuntu22.04 安装CUDA 和cuDNN》
另外就是本篇教程是基于Linux系统(Ubuntu)测试的,所以如果你是Windows或者Mac系统,里面有些命令可能是不太适用的,需要个人进行调整。如果你只想看最后的效果,可以直接拉到文章末尾。
项目环境:
Python:3.8GPU:NVIDIA 4060Ti 16GGPU Driver:535.154.05Cuda:12.2一、搭建环境及安装依赖
1、克隆项目
$ git clone https://github.com/tencent/HunyuanDiT$ cd HunyuanDiT2、新建 conda 环境
$ conda env create -f environment.yml这个项目是通过conda来安装依赖的,对应的配置文件是 environment.yml,如果之前没安装过 conda 的朋友,可以通过miniconda官方教程[1]安装
如果你在执行上面的命令之后报了下面的错误,那大概率是因为你使用的是conda默认的源,然后这个在国内访问较慢导致超时失败(如果你安装依赖正常则可以跳过下面的步骤到第3步)
可以通过 conda config 命令查看配置
$ conda config --show...channel_alias: https://conda.anaconda.orgchannel_priority: flexiblechannel_settings: []channels: - defaultsclient_ssl_cert: Noneclient_ssl_cert_key: Nonecustom_channels: pkgs/main: https://repo.anaconda.com pkgs/r: https://repo.anaconda.com pkgs/pro: https://repo.anaconda.com# 默认源custom_multichannels: defaults: - https://repo.anaconda.com/pkgs/main - https://repo.anaconda.com/pkgs/r local: debug: Falsedefault_channels: - https://repo.anaconda.com/pkgs/main - https://repo.anaconda.com/pkgs/rdefault_python: 3.11ssl_verify: True...修改源有两种方式,第一种是通过 conda config 命令修改,比如:
# 需替换为对应源地址conda config --add channels https://mirrors.xxx第二种就是修改 ~/.condarc 文件,但如果你之前没设置过镜像源,有可能是没有这份文件的,需要通过这个命令生成
$ conda config --set show_channel_urls yes我使用的是第二种方法,生成后配置文件内容只有 show_channel_urls: true 这一行,需要替换为以下内容:
channels: - defaultsshow_channel_urls: truedefault_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/接着再执行这条命令清除索引缓存,保证用的是新镜像源即可
$ conda clean -iWill remove 1 index cache(s).Proceed ([y]/n)? y最后执行最开始的命令即可
$ conda env create -f environment.yml3、激活 conda 环境
$ conda activate HunyuanDiT4、安装依赖
刚装的 conda 环境其实只有比较基础的依赖,并不是项目所需的依赖
$ pip list Package Version----------------- -------pip 24.0setuptools 69.5.1torch 1.13.1typing_extensions 4.11.0wheel 0.43.0所以我们还需要通过 pip 命令安装项目依赖
$ pip install -r requirements.txt官方还提到可以安装 flash attention 来加速,但要求CUDA的版本11.6及以上(这个如果嫌麻烦的可以不安装,因为感觉没啥效果,下面有提到)
$ pip install git+https://github.com/Dao-AILab/[email protected]二、下载模型
在下载模型之前,首先需要安装 huggingface-cli[2]
$ pip install "huggingface_hub[cli]"然后在项目根目录下创建一个 ckpts 的文件夹,这就是我们存放模型的目录,并使用上面的 huggingface-cli 下载模型
$ mkdir ckpts$ huggingface-cli download Tencent-Hunyuan/HunyuanDiT --local-dir ./ckpts正在下载中的模型
注:如果在下载的过程中遇到这个报错:No such file or directory: ‘ckpts/.huggingface/.gitignore.lock’ ,可以忽略这个错误并重新执行上面的下载命令
虽然我没遇到上面的错误,但是我遇到了下面的错误:ChunkedEncodingError,如下图
这其实就是要下载的模型太大,下载到一半连接中断了,我看了一下,混元-DiT所需的模型大小一共是41G,简直头皮发麻。
我这边也在网上搜了一些方法,比如换源(hf-mirror),但效果并不明显,最终采取的做法就还是用 huggingface-cli 慢慢下,因为这个工具支持断点续传,也就是中途下载失败了,还能从原来的进度恢复,大概下了几个小时吧
网上查的方法(仅供参考):https://padeoe.com/huggingface-large-models-downloader/
镜像站地址:https://hf-mirror.com/
三、启动UI界面
原以为下载模型就已经够艰难了,没想到启动它的UI界面程序也同样坎坷。
如果你有用Sock代 理的话,可能会提示你缺少依赖,报错及解决办法如下:
$ python app/hydit_app.py...raise ImportError(ImportError: Using SOCKS proxy, but the 'socksio' package is not installed. Make sure to install httpx using `pip install httpx[socks]` # 注意要加上冒号$ pip install "httpx[socks]"第二个报错如下:
这是因为显卡的工作模式变成了独占模式,独占模式是一种GPU的工作模式,它允许单个计算进程独占一个GPU资源,从而提高计算效率,也就是其他程序无法抢占GPU了(猜测是之前跑其他程序被修改了)
通过这条命令恢复默认模式:
$ nvidia-smi -g 0 -c 0Compute mode is already set to DEFAULT for GPU 00000000:01:00.0.All done.第三个报错就是端口冲突
看了下源码,是因为代码写死了443端口,我这边的做法是直接改代码,比如改成8099,因为试过设置环境变量,但是没有效果(建议share也设置为False,这样不会在网上公开)
最后就是胜利女神终于向我招手了!
四、文生图体验
虽然上面已经能够看到UI界面了,但是文生图这块也遇到了几个问题:
4.1 Cuda不可用
在没部署前我的电脑是可以识别Cuda的,也就是输入 torch.cuda.is_available() 返回True,但这次突然就识别不了了
>>> import torch>>> torch.cuda.is_available()/home/xxx/miniconda3/envs/HunyuanDiT/lib/python3.8/site-packages/torch/cuda/__init__.py:88: UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. (Triggered internally at /opt/conda/conda-bld/pytorch_1670525541702/work/c10/cuda/CUDAFunctions.cpp:109.) return torch._C._cuda_getDeviceCount() > 0False因为这个问题导致文生图的时候报了这个错
RuntimeError: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero.后面就各种折腾,但都不行,最后是重启电脑之后莫名好了
4.2 显存超限制
报错信息如下:
这是因为默认开启了DialogGen,一个提示词增强模型,但是使用这个模型,需要的显存至少是32G,所以我的显存就爆了
解决办法:
# 不启用 python app/hydit_app.py --no-enhance4.3 安装 flash-attention
我其实一开始是没安装的,但发现文生图的速度巨慢!一张图要226秒!
然后我就想着是不是可以安装 flash-attention 提升下速度,但是安装的时候又报错了
这个是因为我之前并没有安装Cuda Tookit,所以也就没有配置 CUDA_HOME 这个环境变量,后续是通过 runfile 的方式安装
# 需要替换为适合你的版本wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run如果你像我一样之前已经安装好显卡驱动了,记得取消驱动安装的勾选
最后配置下环境变量
export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}export CUDA_HOME=/usr/local/cuda-12.2经过大概半小时的时间才 build 成功
五、文生图效果
1、提示词:画一只穿着西装的猪
2、提示词:现实主义风格,画面主要描述一个巴洛克风格的花瓶,带有金色的装饰边框,花瓶上盛开着各种色彩鲜艳的花,白色背景
3、提示词:请将“杞人忧天”的样子画出来(感觉抽卡失败)
4、请画出“忽如一夜春风来 千树万树梨花开”
5、提示词:一只长靴猫手持亮银色的宝剑,身着铠甲,眼神坚毅,站在一堆金币上,背景是暗色调的洞穴,图像上有金币的光影点缀。
6、提示词:一张细致的照片捕捉到了一尊雕像的形象,这尊雕像酷似一位古代法老,头上出人意料地戴着一副青铜蒸汽朋克护目镜。这座雕像穿着复古时髦,一件清爽的白色T恤和一件合身的黑色皮夹克,与传统的头饰形成鲜明对比。背景是简单的纯色,突出了雕像的非传统服装和蒸汽朋克眼镜的复杂细节
7、提示词:一位可爱的女孩,有着蓝色的头发,眼睛是红色的,腰上绑着子弹,手里拿着枪
大家觉得混元-DiT的文生图效果如何呢?
六、小小总结
本次混元-DiT的部署过程比我想得要复杂得多,大概花了一天多的时间,比较占时间的就是模型的下载,以及莫名其妙 Cuda 不可用。虽然混元-DiT生成的图片看起来效果还行,但是它的生成速度实在令人失望,在同等显卡配置下,Stable diffusion生成一张图片仅需要5-15秒,而混元-DiT每一张都需要220秒左右,不知道我哪里安装有问题,还是它本身就这么慢,有部署的朋友也可以说下你们的跑图时间。
如果你觉得本次教程对你有所帮助,还请多多点赞支持,你的点赞是我不断更新的动力!
参考资料
[1]miniconda官方教程: https://docs.anaconda.com/free/miniconda/index.html
[2]huggingface-cli: https://huggingface.co/docs/huggingface_hub/guides/cli
相关文章
- 逆战未来生命公司深度解析 逆战未来生命公司武器系统全面介绍 07-20
- 动物森友会衣服渐层效果怎么画 衣服渐层效果画法教学介绍 07-20
- 空灵诗篇领地怎么建设 领地建设教学方法介绍 07-20
- 永劫无间神墟火罗怎么玩 神墟火罗玩法介绍 07-20
- 逆战未来猎场地图推荐 逆战未来猎场高人气地图与实用枪械搭配指南 07-20
- 格斗三国志关羽技能是什么 关羽技能解析与阵容搭配推荐 07-20