Download app.py from AnTrc2/Try-On: direct link, hf CLI and curl.
- Browser
- Download file 1.46 kB
-
https://huggingface.co/spaces/AnTrc2/Try-On/resolve/main/app.py
- Command line
-
hf download hf://spaces/AnTrc2/Try-On/app.py
-
curl -L -o app.py https://huggingface.co/spaces/AnTrc2/Try-On/resolve/main/app.py
1.46 kB
| import torch | |
| from diffusers import StableDiffusionPipeline | |
| import gradio as gr | |
| from PIL import Image | |
| # Load the model and pipeline | |
| model_id = "ares1123/virtual-dress-try-on" | |
| pipeline = StableDiffusionPipeline.from_pretrained(model_id) | |
| pipeline.to("cuda" if torch.cuda.is_available() else "cpu") | |
| def virtual_try_on(image, clothing_image): | |
| # Convert images to proper format and get dimensions | |
| width, height = image.size | |
| # Ensure dimensions are multiples of 8 | |
| width = (width // 8) * 8 | |
| height = (height // 8) * 8 | |
| # Resize images to fit the model's expected input | |
| image = image.resize((width, height)) | |
| clothing_image = clothing_image.resize((width, height)) | |
| # Define a prompt describing what you want the model to do | |
| prompt = "A person wearing new clothes" | |
| # Process the images using the model | |
| result = pipeline(prompt=prompt, image=image, conditioning_image=clothing_image) | |
| try_on_image = result.images[0] | |
| return try_on_image | |
| # Set up a simple Gradio interface for testing | |
| interface = gr.Interface( | |
| fn=virtual_try_on, | |
| inputs=[gr.Image(type="pil", label="User Image"), | |
| gr.Image(type="pil", label="Clothing Image")], | |
| outputs=gr.Image(type="pil"), | |
| title="Virtual Dress Try-On", | |
| description="Upload an image of yourself and a clothing image to try it on virtually!" | |
| ) | |
| # Launch the interface | |
| interface.launch(share=True) |