本文最后更新于28 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
Z-Image Turbo 是阿里巴巴通义实验室开源的6B参数图像生成模型,支持中英文双语提示词,9步即可生成高质量1024×1024图像。本文介绍如何在Windows系统+RTX 4070 Ti SUPER 16GB显存的配置下完成本地部署。
硬件要求
- 显卡: NVIDIA GPU,显存 ≥12GB(推荐16GB)
- 内存: 32GB 系统内存
- 存储: 20GB+ 可用空间(模型约12GB)
- 系统: Windows 10/11
环境准备
1. 创建Conda环境
conda create -n openmodels python=3.10 -y
conda activate openmodels
2. 安装PyTorch(CUDA 12.1版本)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
3. 安装Diffusers和相关依赖
pip install diffusers transformers accelerate
目录结构规划
建议创建以下目录结构:
D:\AI-Models\Z-Image├── models\ # 模型文件存放目录
├── outputs\ # 生成图片输出目录
├── generate.py # 主程序
└── start.bat # 一键启动脚本
部署步骤
1. 创建目录
mkdir "D:\AI-Models\Z-Image"
mkdir "D:\AI-Models\Z-Image\models"
mkdir "D:\AI-Models\Z-Image\outputs"
2. 创建生成脚本
创建文件 D:\AI-Models\Z-Image\generate.py:
import os
import torch
from diffusers import ZImagePipeline
# 设置自定义缓存路径
cache_dir = r"D:\AI-Models\Z-Image\models"
os.environ["HF_HOME"] = cache_dir
os.environ["TRANSFORMERS_CACHE"] = cache_dir
print(f"模型将下载到: {cache_dir}")
print("首次运行需要下载约12GB模型文件,请耐心等待...")
# 加载模型
pipe = ZImagePipeline.from_pretrained(
"Tongyi-MAI/Z-Image-Turbo",
torch_dtype=torch.bfloat16,
cache_dir=cache_dir,
local_files_only=False
)
pipe.to("cuda")
print("模型加载完成!")
# 生成图片示例
prompt = "一只可爱的橘猫,坐在窗台上,阳光照射,高清细节"
print(f"正在生成: {prompt}")
image = pipe(
prompt=prompt,
num_inference_steps=9,
height=1024,
width=1024,
guidance_scale=0.0,
generator=torch.Generator("cuda").manual_seed(42)
).images[0]
# 保存图片
output_dir = r"D:\AI-Models\Z-Image\outputs"
os.makedirs(output_dir, exist_ok=True)
output_path = os.path.join(output_dir, "output.png")
image.save(output_path)
print(f"图片已保存: {output_path}")
3. 创建一键启动脚本
创建文件 D:\AI-Models\Z-Image\start.bat:
@echo off
chcp 65001 >nul
echo 正在激活conda环境...
call conda activate openmodels
echo 正在启动Z-Image Turbo...
cd /d "D:\AI-Models\Z-Image"
python generate.py
echo.
pause
4. 首次运行(下载模型)
conda activate openmodels
cd "D:\AI-Models\Z-Image"
python generate.py
首次运行会自动下载约12GB的模型文件,根据网络情况可能需要10-30分钟。
交互式生成脚本
如需交互式输入提示词,使用以下脚本:
import os
import torch
from diffusers import ZImagePipeline
from datetime import datetime
cache_dir = r"D:\AI-Models\Z-Image\models"
os.environ["HF_HOME"] = cache_dir
os.environ["TRANSFORMERS_CACHE"] = cache_dir
print("正在加载Z-Image Turbo...")
pipe = ZImagePipeline.from_pretrained(
"Tongyi-MAI/Z-Image-Turbo",
torch_dtype=torch.bfloat16,
cache_dir=cache_dir,
)
pipe.to("cuda")
print("模型加载完成!
")
while True:
prompt = input("请输入提示词(或'quit'退出): ").strip()
if prompt.lower() in ['quit', 'exit', 'q']:
break
if not prompt:
continue
print(f"正在生成: {prompt}")
image = pipe(
prompt=prompt,
num_inference_steps=9,
height=1024,
width=1024,
guidance_scale=0.0,
).images[0]
output_dir = r"D:\AI-Models\Z-Image\outputs"
os.makedirs(output_dir, exist_ok=True)
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
output_path = os.path.join(output_dir, f"image_{timestamp}.png")
image.save(output_path)
print(f"已保存: {output_path}
")
参数说明
| 参数 | 推荐值 | 说明 |
|---|---|---|
| num_inference_steps | 9 | Z-Image只需9步即可出图 |
| height/width | 1024 | 原生支持1024×1024 |
| guidance_scale | 0.0 | Z-Image推荐设为0 |
| torch_dtype | bfloat16 | 兼顾速度和精度 |
与FLUX2对比
| 特性 | Z-Image Turbo | FLUX2-Klein-9B |
|---|---|---|
| 参数量 | 6B | 9B |
| 显存需求 | 12-16GB | 10-12GB |
| 推理步数 | 9步 | 20-30步 |
| 中文支持 | 极强 | 良好 |
| 许可证 | Apache 2.0 | 混合许可 |
| 图像编辑 | 不支持 | 支持换装/换背景 |
常见问题
Q: 下载速度慢怎么办?
A: 可设置HuggingFace镜像:
set HF_ENDPOINT=https://hf-mirror.com
Q: 如何离线使用?
A: 首次下载完成后,将代码中 local_files_only=False 改为 True。
Q: 显存不足怎么办?
A: 在 pipe.to("cuda") 前添加 pipe.enable_model_cpu_offload()。
参考链接
- Z-Image官方仓库: https://github.com/Tongyi-MAI/Z-Image
- HuggingFace模型页: https://huggingface.co/Tongyi-MAI/Z-Image-Turbo
- Diffusers文档: https://huggingface.co/docs/diffusers