majian0318's picture
Update README.md
e71a1df verified
metadata
license: apache-2.0
base_model:
  - Qwen/Qwen-Image-Edit
language:
  - en
  - zh
library_name: diffusers
pipeline_tag: image-to-image
datasets:
  - OPPOer/X2Edit-Dataset

Qwen-Image-Edit-Pruning

GitHub

Update

  • 2025/09/29: We release Qwen-Image-Edit-2509-Pruning
  • 2025/09/28: We release Qwen-Image-Edit-Pruning

Introduction

This open-source project is based on Qwen-Image-Edit and has attempted model pruning, removing 20 layers while retaining the weights of 40 layers, resulting in a model size of 13.6B parameters. The pruned version will continue to be iterated upon. Please stay tuned.

Quick Start

Install the latest version of diffusers and pytorch

pip install torch
pip install git+https://github.com/huggingface/diffusers

Qwen-Image-Edit-13B Inference

from diffusers import QwenImageEditPipeline
import os
from PIL import Image
import time
import torch
model_name = "OPPOer/Qwen-Image-Edit-Pruning/Qwen-Image-Edit-13B"
pipe = QwenImageEditPipeline.from_pretrained(model_name, torch_dtype=torch.bfloat16)
pipe = pipe.to('cuda')
output_path = 'outputs'
os.makedirs(output_path, exist_ok=True)
for file_name in os.listdir('examples'):
    prompt = file_name.replace('_in.jpg', '')
    subject_img = Image.open(os.path.join('examples', file_name)).convert('RGB')
    t1 = time.time()
    inputs = {
        "image": subject_img,
        "prompt": prompt,
        "generator": torch.manual_seed(42),
        "true_cfg_scale": 1,
        "num_inference_steps": 4,
    }
    with torch.inference_mode():
        output = pipe(**inputs)
        output_image = output.images[0]
        output_image.save(os.path.join(output_path, f'{prompt}.jpg'))
    print(time.time()-t1)

Qwen-Image-Edit-2509-14B Inference

import os
import torch
from PIL import Image
from diffusers import QwenImageEditPlusPipeline

model_name = f"OPPOer/Qwen-Image-Edit-Pruning/Qwen-Image-Edit-2509-14B"
pipeline = QwenImageEditPlusPipeline.from_pretrained(model_name, torch_dtype=torch.bfloat16)
print("pipeline loaded")

pipeline.to('cuda')
pipeline.set_progress_bar_config(disable=None)
image1 = Image.open("input1.jpg")
image2 = Image.open("input2.jpg")
prompt = "Let the ancient costume beauty in the second picture sit on the sofa in the first picture"
inputs = {
    "image": [image1, image2],
    "prompt": prompt,
    "generator": torch.manual_seed(0),
    "true_cfg_scale": 4.0,
    "negative_prompt": " ",
    "num_inference_steps": 40,
    "guidance_scale": 1.0,
    "num_images_per_prompt": 1,
}
with torch.inference_mode():
    output = pipeline(**inputs)
    output_image = output.images[0]
    output_image.save("output_image_edit_plus.png")
    print("image saved at", os.path.abspath("output_image_edit_plus.png"))