Qwen-Image-Edit是2025年8月19日由通义团队推出的图像编辑模型。基于20B的Qwen-Image模型进⼀步训练,将Qwen-Image的文本渲染能力延展至图像编辑领域,实现了对图片中文字的精准编辑。 精准文字编辑:Qwen-Image-Edit支持中英双语文字编辑,可以在保留文字大小/字体/风格的前提下,直接编辑图片中文字,进行增删改。 语义/外观 双重编辑:Qwen-Image-Edit不仅支持low-level的视觉外观编辑(例如风格迁移,增删改等),也支持high-level的视觉语义编辑(例如IP制作,物体旋转等) 强大的跨基准性能表现:在多个公开基准测试中的评估表明,Qwen-Image-Edit 在编辑任务中均获得SOTA,是一个强大的图像生成基础模型。 此外,Qwen-Image-Edit将输入图像同时输入到Qwen2.5-VL(实现视觉语义控制)和VAE Encoder(实现视觉外观控制),从而兼具语义与外观的双重编辑能力。业内评价称,Qwen-Image-Edit在中文图像编辑领域树立了新标杆,尤其适合需要高精度文本修改和创意设计的场景,可以进一步降低专业图像创作门槛。
支持设备:Atlas 800I A2:支持的卡数最小为1
# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构,{soc}表示昇腾AI处理器的版本。
chmod +x ./Ascend-cann-toolkit_{version}_linux-{arch}.run
chmod +x ./Ascend-cann-kernels-{soc}_{version}_linux.run
# 校验软件包安装文件的一致性和完整性
./Ascend-cann-toolkit_{version}_linux-{arch}.run --check
./Ascend-cann-kernels-{soc}_{version}_linux.run --check
# 安装
./Ascend-cann-toolkit_{version}_linux-{arch}.run --install
./Ascend-cann-kernels-{soc}_{version}_linux.run --install
# 设置环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构。
chmod +x ./Ascend-mindie_${version}_linux-${arch}.run
./Ascend-mindie_${version}_linux-${arch}.run --check
# 方式一:默认路径安装
./Ascend-mindie_${version}_linux-${arch}.run --install
# 设置环境变量
cd /usr/local/Ascend/mindie && source set_env.sh
# 方式二:指定路径安装
./Ascend-mindie_${version}_linux-${arch}.run --install-path=${AieInstallPath}
# 设置环境变量
cd ${AieInstallPath}/mindie && source set_env.sh下载 pytorch_v{pytorchversion}_py{pythonversion}.tar.gz
tar -xzvf pytorch_v{pytorchversion}_py{pythonversion}.tar.gz
# 解压后,会有whl包
pip install torch_npu-{pytorchversion}.xxxx.{arch}.whlhttps://huggingface.co/Qwen/Qwen-Image-Edit# 1. 下载代码
git clone https://modelers.cn/MindIE/Qwen-Image-Edit.git && cd Qwen-Image-Edit
# 2. python相关依赖安装
pip install diffusers==0.35.1
pip install transformers==4.52.4
pip install yunchang==0.6.0等价优化
# 等价优化
export ROPE_FUSE=1
export ADALN_FUSE=1
python run_edit.py \
--model_path ./Qwen-Image-Edit \
--device_id 0其中,参数详细描述如下:
等价优化+算法优化
# 等价优化
export ROPE_FUSE=1
export ADALN_FUSE=1
# cache算法优化
export COND_CACHE=1
export UNCOND_CACHE=1
python run_edit.py \
--model_path ./Qwen-Image-Edit \
--device_id 0其中,参数详细描述如下:
export LCCL_DETERMINISTIC=true
export HCCL_DETERMINISTIC=true
export ATB_MATMUL_SHUFFLE_K_ENABLE=0
export ATB_LLM_LCOC_ENABLE=true
export CLOSE_MATMUL_K_SHIFT=true
model_path="/mnt/weights/Qwen-Image-Edit"
# 等价优化 需要时开启
# export ROPE_FUSE=1
# export ADALN_FUSE=1
# cache算法优化 需要时开启
# export COND_CACHE=1
# export UNCOND_CACHE=1
# 等价优化+cache算法优化 需要时开启
# export ROPE_FUSE=1
# export ADALN_FUSE=1
# export COND_CACHE=1
# export UNCOND_CACHE=1
# 8卡并行,cfg_size * ulysses_size = 8
# (cfg_size=2, ulysses_size=4) 优于 (cfg_size=1, ulysses_size=8)
export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
# export ASCEND_RT_VISIBLE_DEVICES=8,9,10,11,12,13,14,15
torchrun --nproc_per_node=8 --master-port 29508 run_edit_cfg_usp.py \
--model_path ${model_path} \
--num_inference_steps 50 \
--seed 42 \
--output_dir "baseline_cfg2_ulysses4_optimize_1+2_50steps" \
--ulysses_size 4 \
--cfg_size 2参数说明:
export LCCL_DETERMINISTIC=true
export HCCL_DETERMINISTIC=true
export ATB_MATMUL_SHUFFLE_K_ENABLE=0
export ATB_LLM_LCOC_ENABLE=true
export CLOSE_MATMUL_K_SHIFT=true
model_path="/mnt/weights/Qwen-Image-Edit"
# 等价优化 需要时开启
# export ROPE_FUSE=1
# export ADALN_FUSE=1
# cache算法优化 需要时开启
# export COND_CACHE=1
# export UNCOND_CACHE=1
# 等价优化+cache算法优化 需要时开启
# export ROPE_FUSE=1
# export ADALN_FUSE=1
# export COND_CACHE=1
# export UNCOND_CACHE=1
# 8卡并行,cfg_size * ulysses_size = 16
export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
# export ASCEND_RT_VISIBLE_DEVICES=8,9,10,11,12,13,14,15
torchrun --nproc_per_node=8 --master-port 29508 run_edit_cfg_usp.py \
--model_path ${model_path} \
--num_inference_steps 50 \
--seed 42 \
--output_dir "baseline_cfg2_ulysses4_optimize_1+2_50steps" \
--ulysses_size 8 \
--cfg_size 2参数说明: