我想做的事情
使用 stable-diffusion.cpp 从命令行运行 Qwen-Image。
它既可以在 AMD 的 GPU 上运行,也可以在 AMD 的 CPU 上运行。
环境设置
稳定扩散.cpp
请从以下页面下载适合您环境的 Zip 文件。
如果你想在 AMD GPU 上运行它,你需要一个名称中带有vulkan或rocm 的程序。
(基本上,Vulkan 应该没问题。ROCM 可能会对可使用的 GPU 有限制。)

这适用于名称中带有CUDA 的英伟达 GPU。
AVX512、AVX2、AVX 和 NOAVX 都是基于 CPU 的指令集。请检查哪个 AVX 版本与您的 CPU 兼容并下载。(我之前弄错了,但 AMD CPU 似乎也可以使用 AVX。最简单的办法是咨询 AI 以确定哪个版本兼容。)
将下载的文件解压到你选择的文件夹后,就可以开始了。
模型
请从以下页面依次下载这三个模型。
对于由多个文件组成的文件,较大的文件大小需要更多的内存,但精度会更高。
请根据您的使用环境决定使用哪种型号。
在我的环境中(Ryzen 7 7735HS 搭配 Radeon 显卡 + 32GB 内存),Qwen_Image-Q8_0.gguf 无法正常工作,所以我改用了 Qwen_Image-Q4_K_S.gguf。
扩散模型

脚

llm

执行
启动命令行并导航到您解压 stable-diffusion.cpp 的文件夹。
执行以下命令。(将模型路径替换为您所使用的模型的路径。)
sd-cli.exe --diffusion-model 扩散模型路径 --vae VAE 模型路径 --llm llm 模型路径 -p a cat --cfg-scale 2.5 --sampling-method euler -v --offload-to-cpu -H 512 -W 512 --diffusion-fa --flow-shift 3
如果在 ./output.png 中生成了猫的图像,则表示该过程成功。

官方示例中,提示符用单引号括起来,例如 `-pa cat`,但这行不通。请用双引号括起来。
选项(参数)
选项汇总如下页。
以下仅列出最常用的基本功能。
| -m | 模型路径 |
| -p | 迅速的 |
| -s | 种子价值 指定-1以随机生成。 请注意,如果您不指定格式,则每次都会生成相同的图像。 |
-H | 图片高度 |
| -在 | 图片宽度 |
- 脚 | VAE路径 |
步骤 | 步骤。初始值:20 请注意,对于某些型号,较低的数值可能更好。 (Qwen Image提供的官方示例为50。) |
执行速度
图像生成速度如下:(不包括模型加载时间或迭代后的时间。)
| 模型 | 创建时间(s) |
| 稳定扩散(Vulkan) | 36 |
| Qwen Image(Vulkan) | 623 |
与稳定扩散相比,它的速度要慢得多。
错误
如果您遇到以下错误,则表示您的内存不足。更换当前使用的型号或关闭其他应用程序或许可以解决此问题。
[ERROR]ggml_extend.hpp:83 - alloc_tensor_range: 分配大小为 1043908608 的 Vulkan0 缓冲区失败
[ERROR]ggml_extend.hpp:1774 - qwen_image 分配运行时参数后端缓冲区失败,num_tensors = 1933
[ERROR]ggml_extend.hpp:1955 - qwen_image 参数卸载到运行时后端失败
[ERROR]stable-diffusion.cpp:1727 - 扩散模型计算失败
[ERROR]stable-diffusion.cpp:1861 - 扩散模型采样失败
[ERROR]stable-diffusion.cpp:3112 - 图像 1/1 的采样在 5.14 秒后失败


コメント