FEATURED · 精选文章

AMD显卡跑ComfyUI+Z-Image完全指南:从DirectML环境搭建到避坑

发布时间 / 2026/9/20 11:26:13
来源 / 创域科博编辑部
栏目 / 资讯中心
AMD显卡跑ComfyUI+Z-Image完全指南:从DirectML环境搭建到避坑 AMD显卡跑ComfyUI这事儿搁两年前想都不敢想。那时候圈子里默认的潜台词就是玩AI绘图老老实实上N卡。但自从PyTorch的DirectML分支慢慢成熟加上Z-Image这类新架构模型对显存和算力的要求比SD系列友好不少把AMD显卡拉出来遛一遛成了性价比极高的选择。我自己手里的卡是RX 6700 XT从SD 1.5一路折腾到SDXL再到现在的Z-Image踩过的坑叠起来比驱动安装包还高。这篇就把我从零开始在Windows下用AMD显卡完整跑通ComfyUI Z-Image的全过程写出来包括那些让人血压飙升的报错和折腾记录希望能让你少走点弯路。先说清楚一个概念AMD显卡在Windows下跑AI本质上不是显卡不行而是生态不配合。NVIDIA有CUDA几乎所有AI框架都优先为它优化。AMD在Linux下有ROCm在Windows下呢官方支持基本等于没有。这时候就轮到微软的DirectML出场了。你可以把DirectML理解成一个通用翻译层它能把PyTorch、TensorFlow这些框架的运算指令翻译成AMD、Intel集成显卡都能听懂的语言。虽然性能比原生CUDA差一截但胜在兼容性广而且新卡和旧卡都能覆盖。对于个人玩玩、跑跑图、做做小规模训练的我们来说够用了。Z-Image这个模型也值得多说两句。它不像SD系列那样依赖庞大的UNet和CLIP文本编码器而是走了类似LLM的自回归路线用一个统一的Transformer架构同时处理文本和图像token。体量小、收敛快生成的图像在光照真实感上非常强直出质量就很高不需要堆一堆LoRA和ControlNet也能有不错的效果。最重要的是它对显存的需求比SDXL友好6GB显存的卡都能跑得有模有样。这简直是给AMD中低端卡量身定做的入场券。1. 整体思路与方案选型为什么绕开PyTorch官方版很多人第一步就卡在安装PyTorch上。去PyTorch官网一选Windows Pip CUDA出来的指令默认带cu121或者cu124的包。AMD用户兴冲冲复制粘贴跑起来才发现核心库根本加载不了直接报错说找不到CUDA驱动。这就是没有搞清楚状况AMD显卡在Windows下压根不走CUDA这条路。正确的思路是走微软的DirectML通道。具体来说就是安装PyTorch的DirectML分支版本。这个分支由微软维护底层调用DirectML API把运算分发到显卡上。目前支持的PyTorch版本到了2.4.x左右虽然比官方主线落后了半拍但跑ComfyUI的主流工作流已经足够。更重要的是ComfyUI官方专门为这个分支开了个directml分支代码两者配合得严丝合缝。所以方案就定下来了ComfyUI的directml分支 PyTorch DirectML版 Z-Image模型。1.1 为什么不建议用秋叶整合包我知道很多人图省事直接去下秋叶大佬的整合包。那个整合包对N卡用户确实是福音一键安装、内置各种插件和工作流但对A卡用户来说就有点尴尬了。整合包默认的PyTorch是CUDA版就算你换显卡驱动、加什么--directml参数底层核心库不对就是不对。有些整合包版本后来加了A卡支持选项但版本更新滞后而且出了问题你很难自己去排查因为整个环境是打包好的“黑盒”你不知道它内部怎么组织的。我自己刚开始也试过整合包结果卡在启动界面上报错信息指向torch.cuda相关模块找不到折腾了一整天才明白问题出在哪。后来一咬牙干脆手动搭环境所有组件自己控制版本出现了问题也知道该查哪里。事实证明这个思路是对的。手动搭环境虽然第一次麻烦一点但后续升级插件、换模型、改配置都非常自由。1.2 版本选择的关键考量Python版本我建议用3.10.11不要用3.12或3.13。PyTorch DirectML分支对3.12的支持不完善有些依赖包会编译失败。Git必须装拉取ComfyUI源码和后续更新插件都需要。显卡驱动更新到Adrenalin 2023及以上版本旧驱动对DirectML的兼容性和性能都差很多。显卡显存Z-Image在fp16精度下6GB显存可以跑但8GB会更舒服。2. 环境搭建与核心依赖安装手把手操作环境搭好之前一切都是空中楼阁。这里我把从零开始的完整操作命令都列出来你可以直接照着执行。2.1 Python虚拟环境创建打开命令行在你喜欢的目录下创建虚拟环境。这里建议用conda或者python自带的venv不要直接用全局环境免得以后依赖冲突。python -m venv comfy_amd_env cd comfy_amd_env Scripts\activate激活后你会看到命令行前缀变成(comfy_amd_env)说明现在已经在虚拟环境里了。后面安装的包都只会装在这个环境里不会污染系统全局。2.2 安装PyTorch DirectML版这是整个流程中最关键的一步。不要用pip直接装torch一定要指定DirectML的索引地址pip install torch-directml装完后可以用下面的命令测试一下显卡是否被正确识别python -c import torch; print(torch.cuda.is_available())注意这里用torch.cuda.is_available()会返回False这是正常的因为走的不是CUDA通道。正确的测试方法是python -c import torch_directml; print(torch_directml.device_count()); print(torch_directml.device_name(0))如果能看到你的显卡型号比如AMD Radeon RX 6700 XT说明DirectML通道已经打通了。这一步走通了后面基本就顺了。2.3 克隆ComfyUI的directml分支网络上有各种版本的ComfyUI有些是官方原版有些是别人魔改过的。我们必须用官方专门为DirectML适配的分支git clone https://github.com/ComfyUI-Org/ComfyUI.git -b directml cd ComfyUI这里-b directml参数特别重要它拉取的是专门支持DirectML的分支代码里面已经预设好了一些兼容逻辑可以省掉很多手动调整的功夫。如果拉的是主分支后面跑的时候十有八九会报torch_directml模块找不到或者某些算子不兼容的错。拉取完成之后安装依赖pip install -r requirements.txt这个requirements.txt里面会拉取ComfyUI运行所需的基本依赖包括transformers、safetensors、pillow这些。注意因为前面已经装了torch-directml所以不要用requirements.txt去覆盖安装不然又把torch换回CUDA版了。在安装之前可以把requirements.txt里的torch和torchvision相关行注释掉或者装完依赖后再重新执行一次2.2的安装命令确保torch还是DirectML版。2.4 安装常用插件可选ComfyUI的魅力在于插件生态。Desktop版安装插件很简单在ComfyUI-Manager里搜一下就装了。但走命令行启动的话就需要手动克隆插件到custom_nodes目录。我自己装了几个必备的cd custom_nodes git clone https://github.com/ltdrdata/ComfyUI-Manager.git git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus.git git clone https://github.com/pythongosssss/ComfyUI-Custom-Scripts.git cd ..ComfyUI-Manager是必须要有的它不仅是插件管理器还能在界面里直接搜索和安装缺失的节点。IPAdapter_plus用来做图像风格迁移Custom-Scripts提供一些辅助小功能看需求装。3. Z-Image模型文件准备下载、放置与工作流搭建环境搭好了接下来就是把Z-Image模型文件放到位。这一步看着简单但很多人搞错目录导致启动时加载不到模型。Z-Image模型跟SD系列的模型不一样它不是单个巨大的ckpt文件而是像大语言模型那样由多个不同功能的权重文件组成。Z-Image官方选择了直接支持ComfyUI格式也就是说你从HuggingFace模型开源平台下完文件按目录放好ComfyUI原生就能识别不需要写额外代码。3.1 模型文件获取与目录结构Z-Image在网上的仓库名一般可以搜到。下载时重点找这几个文件z-image-base-fp16.safetensors或者类似命名这是核心权重文件很大可能有十几个GB。z-image-vae-fp16-fix.safetensors这是变分自编码器负责图像压缩和还原。t5-v1_1-xxl-encoder相关的CLIP文本编码文件夹里面还有clip_model_config.json等配置文件。autoencoder相关的模块如果有单独的话一般跟VAE混在一起了。下载完之后把它们放到ComfyUI目录下的models文件夹里具体路径如下ComfyUI/ ├── models/ │ ├── checkpoints/ # 核心权重放这里如果网上的文件自带子文件夹记得把子文件夹内容放在这一层 │ ├── vae/ # VAE权重放这里 │ ├── text_encoders/ # CLIP/T5文本编码器放这里 │ └── clip/ # 早期版本可能用这个目录看版本我实际操作中Z-Image的工作流需要的组件包括 Unet放在diffusion_models目录下、CLIP放在text_encoders目录下、VAE放在vae目录下。如果你的下载源给的文件结构跟我们印象中的目录不一样不要慌看扩展名.safetensors和目录意图去对应就行。3.2 下载注意网络问题HuggingFace直连速度时快时慢经常下到一半断了。我建议用国内的镜像源比如hf-mirror.com速度快、稳定而且不用开任何辅助工具。设置环境变量的方式set HF_ENDPOINThttps://hf-mirror.com然后再执行下载脚本或使用HuggingFace的下载工具速度会有质的提升。这是我的切身感受第一次用原始地址下一个7GB的权重文件愣是花了四个多小时差点让我当场放弃。3.3 构建Z-Image工作流的节点连接模型文件放好之后打开ComfyUI用默认的空白工作流开始搭建。Z-Image的主工作流其实不复杂核心节点比SDXL还简单CheckpointLoaderSimple加载核心权重它会自动关联对应的CLIP和VAE。CLIPTextEncode写正向提示词和负向提示词各接一个。KSampler采样器CFG、Steps、Sampler名、Scheduler名这些参数在这里配置。VAEDecode把潜空间数据还原成图像。SaveImage保存图片。Z-Image对负向提示词的依赖比较低很多时候空着就行对采样步数要求也低20到30步直出效果就相当能看。这些在搭建工作流时不用像我一开始那样上来就是40步、CFG 7折腾半天纯属浪费时间。4. 启动运行与首次生成关键时刻环境、模型、工作流都准备好了最后一步就是启动ComfyUI并完成第一次生成。这一步也是A卡用户最容易受打击的地方各种莫名其妙的报错都会在这里密集爆发。4.1 启动命令与参数在ComfyUI目录下执行python main.py --directml这个--directml参数很关键。不加它ComfyUI默认调用torch.cudaAMD显卡直接歇菜。加了之后ComfyUI会走DirectML通道。如果你的机器有多张AMD显卡比如核显独显可以指定用哪张卡python main.py --directml:0数字0代表第一张卡1代表第二张。我的机器是AMD 5600G配RX 6700 XT不开参数的话它会默认用第一张DirectML设备也就是核显性能拉胯得没法看。必须手动指定--directml:1才能强制走独显。这个坑配置单里写清楚能少好几个小时的困惑。启动成功后终端会显示To see the GUI go to: http://127.0.0.1:8188浏览器打开这个地址就能看到ComfyUI的界面。4.2 首次生成的正确姿势第一次生成建议用最简单的工作流不要一上来就套复杂的姿态控制或IPAdapter。先确保基本链路通了再去加花活。点界面右下角的“Queue Prompt”按钮第一次运行会有一个加载模型的过程时间可能比较长感觉像是卡住了。实际上它是在把那些几十GB的safetensors文件读入显存耐心等待。终端会滚动输出加载日志。等看到类似Requested to load ...和Model loaded in ... seconds的字样说明模型加载完成接下来就是采样过程了。采样过程中A卡和N卡最大的区别会直观暴露出来速度确实慢。N卡4080跑Z-Image 20步512x768一秒出图我的6700 XT得等个十秒左右。但这不影响使用又不是做商业出图慢一点完全可以接受。关键是质量Z-Image渲染出来的画面感是真的好色彩自然、明暗错落有致尤其是人像皮肤质感和环境光融合很容易给人一种照片级的感觉。4.3 性能调优与显存优化如果发现显存不够或者速度太慢有几个立竿见影的调整项降低分辨率Z-Image虽然是新架构但生成分辨率还是跟显存强相关。8GB显存的话建议先跑512x512或者768x768不要一上来就1024x1024。开启--lowvram参数在启动命令后面加--lowvram可以让模型权重低频换入显存牺牲一点速度换稳定性。批量步数控制Z-Image在20步左右就已经逼近收敛没必要硬堆40步只会增加等待时间而不提升细节。注意sampler和schedulerZ-Image官方推荐用eulernormal或者euler_ancestralnormal这些在KSampler节点里直接选就行效果比默认的lmskarras要稳色偏也少。关于色偏我遇到过一次比较严重的问题出图整体发绿像蒙了一层滤镜。排查了半天发现是VAE的配置问题Z-Image对VAE的精度和类型比较敏感如果加载的是旧SD1.5的VAE就会导致色彩异常。去下载Z-Image专用的VAE文件替换后问题就解决了。这是A卡用户容易踩的另一个坑因为DirectML通道下有些默认配置会跟预期不一致。5. 高频报错与问题排查手把手带你排雷这部分是重点中的重点我把自己和群友们在A卡上跑ComfyUI遇到的高频问题全列出来做一个“症状-原因-解法”的速查表。每一个都是实打实发生过的照着做基本能解决九成问题。5.1 常见报错速查表报错信息/现象根本原因解决方案AssertionError: Torch not compiled with CUDA enabled装了CUDA版PyTorch但显卡是AMD卸载torch重装torch-directmlModuleNotFoundError: No module named torch_directml没有安装DirectML版PyTorchpip install torch-directml装完后重启ComfyUICUDA error: no kernel image is available显卡驱动或PyTorch版本和显卡不兼容更新AMD驱动到最新版并确保用的是DirectML分支的ComfyUI启动卡在Loading model很久没反应第一个模型加载较慢正常现象等待不要强制关闭观察终端日志是否还在滚动出图色彩发绿、发红、发紫VAE下载不匹配或精度不对换用Z-Image专用VAE确保是fp16版本且放在vae目录生成速度极慢只有预期1/5可能走的是核显而非独显启动时指定--directml:1或--directml:0得到独显设备编号报OutOfMemoryError但任务管理器显示显存没满DirectML显存管理机制特殊系统内存溢出会导致误报加--lowvram降低分辨率关掉其他占用显存的程序某些节点报No module named cv2或Without dml support依赖不完整或插件的DML兼容问题pip install opencv-python插件不兼容就卸载找替代插件5.2 显存不足的第二种解法很多人不知道DirectML模式下显存不足跟CUDA模式下表现完全不同。CUDA模式是直接抛异常DirectML模式可能会在系统内存里硬撑导致生成速度断崖式下降。这时候用任务管理器看“专用GPU内存”和“共享GPU内存”这两个指标如果共享GPU内存被大量占用说明显存爆了。除了降低分辨率还可以试试把采样工作流里的Batch Size设成1坚决不一次性出多张图。批量出图是显存杀手宁可单张排队也不要为了省事一次跑4张图基本必炸。5.3 核显reset bug的处理经验热词里提到的 “amd核显reset bug” 我也是受害者之一。症状是跑图跑着跑着画面突然无信号显示器黑屏几秒然后驱动恢复但ComfyUI已经崩了。这问题经常出现在同时用核显和独显输出的机器上。我的解决方案比较实用如果你也遇到类似情况可以参考在Windows显示设置里把主显示器接在独显输出口上让核心的AI运算固定走独显核显只做视频解码或待机。在设备管理器里禁用核显强制所有应用走独显。这个方法最彻底但笔记本用户慎用有些本子没有独显直连选项禁用核显会导致所有输出都黑屏。更新主板BIOS和AMD芯片组驱动有些reset bug是老的AGESA版本导致的更新后明显频次降低。严格来说这不是ComfyUI本身的bug而是AMD驱动层的稳定性问题。但这问题一旦发生对跑图的影响是灾难性的因为可能白白消耗好几个小时。5.4 秋叶整合包里的A卡用户出路如果你已经装了秋叶整合包公司电脑又不能用管理员权限装乱七八糟的东西或者你实在不想自己管理环境还有一个相对省事的方案在秋叶整合包的启动器里找“高级选项”或“自定义启动参数”把--directml加进去同时去包内python目录下手动安装torch-directml替换掉原有的torch。这个方法有概率能跑通但不保证100%毕竟秋叶包内核依赖很多是为CUDA优化的DML分支不一定都兼容。能手动搭环境的我还是推荐手动搭一劳永逸。6. 进阶优化与日常工作流建议基础链路通了之后就是如何提升体验和效果的问题了。这部分不是必须的但能让你后续用得更加顺手。6.1 使用环境变量锁显存与内存DirectML在Windows下对显存管理比较开恩它允许系统内存作为“共享显存”来兜底但这也造成了GPU和CPU之间频繁的数据搬运严重拖慢速度。建议在启动ComfyUI之前在命令行设置下面的环境变量来收紧共享显存策略set PYTORCH_DML_ENABLE_FALLBACK1 set PYTORCH_DML_USE_FALLBACK_FOR_DEVICE0第二个参数是把fallback关掉强制只用显存如果显存不够就直接报错而不是用内存死撑。这样你至少能明确知道瓶颈在哪而不是云里雾里等半天结果出一张慢吞吞的图。如果你显存确实小可以不设置第二个参数用默认的fallback策略就是慢但不至于跑不动。6.2 批量生成与写实风格实践Z-Image的强项是真实感和光影表现所以我个人偏好在工作流里挂一个轻量级的局部重绘Inpaint节点针对某些区域做精细修图。A卡跑局部重绘比跑全图要轻松得多因为计算量小了很多。如果你想批量出图可以写一个python脚本循环调用ComfyUI的API接口而不是在界面里一张张手动点。ComfyUI自带API模式你只需要拿到工作流的JSON然后用requests发送POST请求即可这样配合A卡较慢的出图速度可以实现排队生成反而更高效。6.3 与SD 1.5和SDXL的对比体验从SD 1.5换到Z-Image最直观的感受是提示词写起来更轻松了。Z-Image对自然语言的理解要远超SD系列你可以直接用“一个穿着红色连衣裙的女孩站在阳光洒落的咖啡店门口面带微笑光线柔美背景虚化”这种长句而不需要堆砌一堆tag词。这对A卡用户来说也是一件好事因为减少了错误的提示词带来的无效生成和重复试错间接节省了时间成本。6.4 模型扩展与LoRAZ-Image目前支持LoRA微调。如果你嫌官方模型风格不够个性可以自己训练LoRA或者在社区找别人分享的LoRA模型。放置目录通常是models/loras在ComfyUI里用对应的LoRA加载器节点加载。A卡训练LoRA说实话有点吃力但跑推理完全没问题。如果只是想玩风格迁移还不如直接用IPAdapter那个对显存压力小实时性高。7. 从入门到进击Z-Image进阶玩法与生态分享当你能稳定出图玩转了基础工作流就可以往更深的方向探索了。Z-Image的设计思路跟SD有差异它更像是一个多模态语言模型在视觉领域的延伸所以衍生出的玩法也很有意思。7.1 文字渲染能力的应用Z-Image一个非常大的亮点是文字渲染能力。以往用SDXL生成带有文字的图片中文字符十有八九是乱码英文字母也歪歪扭扭。但Z-Image对文字的把握要强得多你可以让它直接生成带有海报标题、Logo文字的图片效果相当不错。这个特性做做社交媒体配图、短视频封面非常实用。7.2 多图融合与微调技巧Z-Image对参考图的理解能力也更强。配合IPAdapter或者原生的参考图控制你可以把多个参考图的风格融合进一张图。AMD GPU在当前版本下并行处理多张参考图虽然慢但效果并不差。我的习惯是先出一张底图然后用局部重绘把不满意的区域修掉最后再用图生图整体调一遍光影和色调这样出来的成品率会高很多。7.3 更新与升级的节奏把控ComfyUI插件更新频率很快但A卡用户千万别看着N卡用户更新了也跟着手痒。先看更新日志确认没有引入DirectML不兼容的改动再决定要不要更新。我经历过一次ComfyUI主程序更新后DirectML分支没能同步合并最新改动导致界面能开但生成直接报错最后只能回滚代码。在git目录下执行git checkout . git pull --rebase回滚命令就是git checkout .如果你发现更新的版本不兼容立刻回滚再等下一版别硬撑着。8. 最后的几个实用建议说了这么多总结一下我对AMD显卡在Windows上跑ComfyUI Z-Image这件事的整体感受。整个过程像是夜里在没有路灯的山路上开车每一步都得小心翼翼地试探但一旦走通了终点风景是真的好。和我一样用A卡的朋友如果你看到这篇文章准备入坑我再啰嗦几句保持驱动更新但不要追求预览版驱动的激进功能稳定版足以覆盖DirectML的兼容需求。无论是ComfyUI还是Z-Image都处在快速迭代期有问题先搜GitHub的issue基本能找到答案或绕过方案。请保管好一套能稳定运行的工作流JSON对它的参数改动要保守这不是N卡玩家的那种“随便造”我们A卡用户折腾一次环境的时间成本太高了。出图慢的问题没必要太焦虑。回到初衷做AI绘画不是为了比拼速度而是为了验证创意、记录灵感。我现在跑一张图平均要十几秒但我用它做出来的一组“城市边缘”系列摄影作品发在社交平台反而比那些秒出图的N卡作品收获更多关注。AMDYes这句话不只是一句口号它是真的可以落地到AI绘画场景里的。希望这篇文章能帮你在Windows下把A卡跑ComfyUI的这条小路踩实省下来的时间和精力多出几张好图才是正经事。如果你在折腾过程中遇到我没写到的坑欢迎在评论区分享我们一起把它填平。
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻