python调用Z-Image模型生成图片

最近 Z-Image 非常火爆,但是我工作的电脑没有gpu,恰好cpu环境也能运行

简介

Z-Image 是一个基于扩散模型的文本到图像生成工具,支持生成高质量的图像。本指南将介绍如何在本地环境中设置和使用 Z-Image。

环境要求

  • Python 3.12+
  • Windows/Linux/macOS
  • 至少16GB RAM(推荐32GB)
  • 磁盘空间至少20GB(用于模型文件)

安装步骤

1. 安装依赖库

pip install torch torchvision torchaudio
pip install diffusers transformers accelerate
pip install modelscope  # 用于从ModelScope下载模型

2. 下载模型

创建 download_model.py 文件:

from modelscope import snapshot_download
import os

# 创建models目录
os.makedirs("./models", exist_ok=True)

try:
    # 从ModelScope下载模型
    model_path = snapshot_download(
        model_id="Tongyi-MAI/Z-Image-Turbo",
        local_dir="./models/z-image-turbo"
    )
    print(f"模型下载成功,保存路径: {model_path}")
except Exception as e:
    print(f"模型下载失败: {e}")

运行下载脚本:

python download_model.py

3. 创建图像生成脚本

创建 generate_image.py 文件:

import torch
from diffusers import DiffusionPipeline
import os
from modelscope import ZImagePipeline

# 检查模型是否存在
model_path = "./models/z-image-turbo"

if os.path.exists(model_path):
    print("正在加载模型...")
    # 从本地路径加载模型
    # pipe = ZImagePipeline.from_pretrained(
    pipe = DiffusionPipeline.from_pretrained(
        model_path,
        torch_dtype=torch.bfloat16,
        low_cpu_mem_usage=False,
    )
    pipe = pipe.to("cpu")  # 使用CPU(如果没有GPU)pipe.to("cuda")
    
    print("模型加载成功!")
    
    # 设置提示词
    prompt = "年轻中国女性穿着红色汉服,精美的刺绣。完美的妆容,额头红色花卉图案。精致的高发髻,金色凤凰头饰,红花,珠子。手持圆形折扇,上面有仕女、树木、鸟儿。霓虹灯闪电符号(⚡️),明亮的黄色光芒,在左手上空。柔和灯光的户外夜景背景,大雁塔剪影,模糊的彩色远处灯光。"
    # 负面提示词
    negative_prompt = "模糊不清,低质量,不清晰,变形,丑陋,不自然,错误的解剖结构,水印,签名,不完整的图像"
    print("正在生成图像...")
    # 生成图像
    image = pipe(
        prompt=prompt,
        negative_prompt=negative_prompt,
        height=1024,
        width=1024,
        num_inference_steps=9,  # 实际执行8次DiT推理
        guidance_scale=0.0,     # Turbo模型的引导值应为0
        generator=torch.Generator("cpu").manual_seed(42),  #gpu使用 torch.Generator("cuda").manual_seed(42)
    
    # 保存图像
    image.save("generated_image.png")
    print("图像已生成并保存为 generated_image.png")
else:
    print("未找到模型文件。请先运行 download_model.py 下载模型。")

4. 运行图像生成

python generate_image.py

效果

example

使用技巧

提示词优化

  1. 具体描述:越详细的描述通常会产生更好的结果
  2. 文化元素:Z-Image对中华文化元素有很好的支持
  3. 艺术风格:可以指定特定的艺术风格,如"油画"、"水彩"等

参数调整

  • heightwidth:图像尺寸(建议1024x1024)
  • num_inference_steps:推理步数(Z-Image Turbo推荐9步)
  • guidance_scale:引导比例(Turbo模型设为0.0)
  • seed:随机种子,用于生成一致的结果

常见问题

1. 下载模型失败

  • 检查网络连接
  • 如果无法访问HuggingFace,使用ModelScope镜像站点,或者HuggingFace的国内镜像。
  • 确保磁盘空间充足

2. 生成图像质量不佳

  • 尝试更详细的提示词
  • 调整随机种子
  • 增加推理步数

3. 内存不足

  • 降低图像分辨率
  • 关闭其他占用内存的程序
  • 使用CPU模式(较慢但内存占用较少)

性能说明

  • GPU模式:需要支持bfloat16的GPU,生成速度快
  • CPU模式:兼容性好,但生成速度较慢(可能需要几分钟)
  • 内存要求:至少16GB RAM,推荐32GB

参考资料

posted @ 2025-12-18 14:15  朝阳1  阅读(21)  评论(0)    收藏  举报