使用OpenVINO™加速部署通义Z-Image(造相)文生图模型

引言

【Z-Image-Turbo】(https://huggingface.co/Tongyi-MAI/Z-Image-Turbo) 是阿里巴巴通义团队最新推出的高性能文生图模型,基于 Diffusion Transformer (DiT) 架构,6B参数量,仅需不到10个steps的采样,就能够快速生成高质量图像。本文将详细介绍如何使用 Intel® OpenVINO™ 工具套件来优化和部署 Z-Image-Turbo 模型,在 Intel平台上上获得出色的推理性能。

内容列表

1. 环境准备

2. 模型下载和转换

3. 模型部署

第一步,环境准备

基于以下命令可以完成模型部署任务在Python上的环境安装。

python -m venv py_venv ./py_venv/Scripts/activate.bat pip uninstall -y optimum transformers optimum-intel diffuserspip install git+https://github.com/huggingface/diffuserspip install git+https://github.com/openvino-dev-samples/optimum-intel.git@zimagepip install nncfpip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cpupip install openvino==2025.4

第二步,模型下载和转换

在部署模型之前,我们首先需要将原始的PyTorch模型转换为OpenVINO™的IR静态图格式,并对其进行压缩,以实现更轻量化的部署和最佳的性能表现。通过Optimum提供的命令行工具optimum-cli,我们可以一键完成模型的格式转换和权重量化任务:

optimum-cli export openvino --model Tongyi-MAI/Z-Image-Turbo --task text-to-image Z-Image-Turbo-ov --weight-format int4 --group-size 64 --ratio 1.0

其中Tongyi-MAI/Z-Image-Turbo为模型在HuggingFace上的model id, 可用原始模型的本地路径替换;--weight-format int4 --group-size 64 --ratio 1.0为模型量化参数,如果考虑出图质量,也可以用--weight-format fp16 替换。

第三步,模型部署

除了利用Optimum-cli工具导出OpenVINO™模型外,我们还在Optimum-intel中重构了Z-Image模型的Pipeline,将官方示例示例中的的ZImagePipeline替换为OVZImagePipeline便可快速利用OpenVINO™进行模型部署,完整示例可参考以下代码流程。

import torchfrom optimum.intel import OVZImagePipeline
# 1. Load the pipelinepipe = OVZImagePipeline.from_pretrained(    "Z-Image-Turbo-ov", device="cpu")
prompt = "Young Chinese woman in red Hanfu, intricate embroidery. Impeccable makeup, red floral forehead pattern. Elaborate high bun, golden phoenix headdress, red flowers, beads. Holds round folding fan with lady, trees, bird. Neon lightning-bolt lamp (⚡️), bright yellow glow, above extended left palm. Soft-lit outdoor night background, silhouetted tiered pagoda (西安大雁塔), blurred colorful distant lights."
# 2. Generate Imageimage = pipe(    prompt=prompt,    height=512,    width=512,    num_inference_steps=9,  # This actually results in 8 DiT forwards    guidance_scale=0.0,     # Guidance should be 0 for the Turbo models    generator=torch.Generator("cpu").manual_seed(42),).images[0]
image.save("example_zimage_ov.png")

生图结果如下:

 

除此以外我们在OpenVINO™ notebook仓库中构建了更为完整的demo示例,展示效果如下:

总结

本文详细介绍了如何使用 OpenVINO™ 部署通义Z-Image-Turbo 模型,OpenVINO™为 Z-Image-Turbo 提供了显著的性能提升,作为轻量化模型的代表,Z-Image-Turbo特别适合在 Intel CPU/GPU 上进行推理部署。

参考资源

<think>我们参考引用[2]中的代码示例,它展示了如何使用`diffusers`库加载Qwen-Image模型并生成图像。 注意:引用[2]中的代码使用了`DiffusionPipeline`,并指定了模型路径为"qwen/qwen-image"。但是,由于我们是在本地部署,假设我们已经将模型下载到本地,那么我们可以指定本地模型路径。 步骤: 1. 安装必要的库:diffusers, transformers, accelerate, torch等。 2. 确保模型已经下载到本地,并知道模型存放的路径。 3. 编写代码加载本地模型,然后输入提示词生成图像。 注意:引用[2]中提到模型下载约20GB,首次运行需要较长时间,并且显存不足时可以降低图像分辨率。 我们将编写一个函数,接受提示词作为输入,生成图像并保存。 代码示例: 注意:如果显存不足,可以在生成图像时指定`height`和`width`为较小的尺寸(如512)。 另外,根据引用[2],模型使用半精度(float16)可以节省显存。 我们按照以下步骤: - 导入必要的库 - 创建pipeline,指定本地模型路径(如果模型在本地,则使用本地路径) - 设置pipeline到GPU(如果可用)并使用半精度 - 输入提示词生成图像 - 保存图像 假设我们的模型存放在本地路径:"./qwen-image-model" (请根据实际路径调整) 代码示例:</think>以下是使用本地部署的 Qwen-Image 模型实现文本生成图像的 Python 示例代码,基于引用 [2] 的指导进行优化: ```python from diffusers import DiffusionPipeline import torch # 初始化图像生成管道 (使用本地模型路径) def generate_image(prompt: str, output_path: str = "output.png", height: int = 1024, width: int = 1024): """ 使用本地部署的 Qwen-Image 模型生成图像 参数: prompt: 图像描述文本 output_path: 图像保存路径 height: 生成图像高度 (显存不足时降低) width: 生成图像宽度 (显存不足时降低) """ try: # 加载本地模型 (替换为实际模型路径) pipe = DiffusionPipeline.from_pretrained( "./local_qwen_image_model", # 本地模型目录路径 torch_dtype=torch.float16 # 使用半精度节省显存 ) # 启用 GPU 加速 pipe.to("cuda") # 生成图像 image = pipe( prompt=prompt, height=height, width=width ).images[0] # 保存图像 image.save(output_path) print(f"图像已保存至: {output_path}") return image except Exception as e: print(f"生成失败: {str(e)}") return None # 使用示例 if __name__ == "__main__": # 输入您的图像描述 user_prompt = "星空下的雪山湖泊,极光舞动,4K高清" # 生成图像 (显存不足时可调低分辨率) generate_image( prompt=user_prompt, output_path="custom_image.png", height=768, # 默认1024,显存不足时降低 width=768 # 默认1024,显存不足时降低 ) ``` ### 关键配置说明 1. **模型路径** `"./local_qwen_image_model"` 需替换为实际的本地模型目录路径(包含 `model_index.json` 的目录) 2. **显存优化** - `torch.float16`:使用半精度计算(节省约 40% 显存) - `height/width`:分辨率设置(默认 1024×1024,显存不足时可降至 512×512) 3. **硬件要求** - 推荐 GPU 显存 ≥ 16GB(1024×1024分辨率) - 8GB 显存建议使用 768×768 分辨率 ### 部署前准备 1. 下载模型至本地(约 20GB): ```bash git lfs install git clone https://www.modelscope.cn/qwen/qwen-image.git ./local_qwen_image_model ``` 2. 安装依赖库: ```bash pip install diffusers transformers accelerate torch torchvision ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值