Maaz66/Image-to-Image-using-Diffusers
0
1 2import gradio as gr3import inspect4import warnings5from typing import List, Optional, Union6import requests7from io import BytesIO8from PIL import Image9import torch10from torch import autocast11from tqdm.auto import tqdm12from diffusers import StableDiffusionImg2ImgPipeline13from huggingface_hub import notebook_login14 15notebook_login()16 17device = "cuda"18model_path = "CompVis/stable-diffusion-v1-4"19 20pipe = StableDiffusionImg2ImgPipeline.from_pretrained(21 model_path,22 revision="fp16", 23 torch_dtype=torch.float16,24 use_auth_token=True25)26pipe = pipe.to(device)27 28def predict(image_url, strength, seed):29 seed= int(seed)30 31 response = requests.get(image_url)32 init_img = Image.open(BytesIO(response.content)).convert("RGB")33 init_img = init_img.resize((768, 512))34 35 36 generator = torch.Generator(device=device).manual_seed(seed)37 with autocast("cuda"):38 image = pipe(prompt="", init_image=init_img, strength=strength, guidance_scale=5, generator=generator).images[0]39 40 return image41 42 43 44 gr.Interface(45 predict,46 title = 'Image to Image using Diffusers',47 inputs=[48 gr.Textbox(label="image_url"),49 50 gr.Slider(0, 1, value=0.05, label ="strength"),51 gr.Number(label = "seed")52 53 ],54 outputs = [55 gr.Image()56 ]57).launch()58 59 