Spaces:
Runtime error
Runtime error
| import torch | |
| import gradio as gr | |
| from diffusers import QwenImagePipeline, QwenImageTransformer2DModel | |
| from transformers import Qwen2_5_VLForConditionalGeneration | |
| # Set device and dtype | |
| torch_dtype = torch.bfloat16 | |
| # Load models | |
| transformer = QwenImageTransformer2DModel.from_pretrained( | |
| "OzzyGT/Qwen-Image-2512-bnb-4bit-transformer", | |
| torch_dtype=torch_dtype, | |
| device_map="cpu" # offloading to CPU | |
| ) | |
| text_encoder = Qwen2_5_VLForConditionalGeneration.from_pretrained( | |
| "OzzyGT/Qwen-Image-2512-bnb-4bit-text-encoder", | |
| torch_dtype=torch_dtype, | |
| device_map="cpu" | |
| ) | |
| pipe = QwenImagePipeline.from_pretrained( | |
| "Qwen/Qwen-Image-2512", | |
| transformer=transformer, | |
| text_encoder=text_encoder, | |
| torch_dtype=torch_dtype | |
| ) | |
| pipe.enable_model_cpu_offload() | |
| # Define the Gradio function | |
| def generate_image(prompt, negative_prompt, width=1664, height=928, seed=42): | |
| generator = torch.Generator(device="cuda" if torch.cuda.is_available() else "cpu").manual_seed(seed) | |
| image = pipe( | |
| prompt=prompt, | |
| negative_prompt=negative_prompt, | |
| width=width, | |
| height=height, | |
| num_inference_steps=28, | |
| true_cfg_scale=4.0, | |
| generator=generator, | |
| ).images[0] | |
| return image | |
| # Gradio interface | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## Qwen Image Generation") | |
| with gr.Row(): | |
| with gr.Column(): | |
| prompt_input = gr.Textbox(label="Prompt", lines=8, placeholder="Enter your prompt here...") | |
| negative_prompt_input = gr.Textbox(label="Negative Prompt", lines=4, placeholder="Enter negative prompt...") | |
| width_input = gr.Slider(256, 2048, value=1664, step=64, label="Width") | |
| height_input = gr.Slider(256, 2048, value=928, step=64, label="Height") | |
| seed_input = gr.Number(value=42, label="Random Seed") | |
| generate_btn = gr.Button("Generate Image") | |
| with gr.Column(): | |
| output_image = gr.Image(label="Generated Image") | |
| generate_btn.click( | |
| fn=generate_image, | |
| inputs=[prompt_input, negative_prompt_input, width_input, height_input, seed_input], | |
| outputs=output_image | |
| ) | |
| demo.launch() | |