File size: 1,301 Bytes
3f7080b
92eeb58
 
 
 
e15e19a
 
 
92eeb58
 
 
 
cf39c9b
 
 
92eeb58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

import gradio as gr
import inspect
import warnings
from typing import List, Optional, Union
import requests
from io import BytesIO
from PIL import Image
import torch
from torch import autocast
from tqdm.auto import tqdm
from diffusers import StableDiffusionImg2ImgPipeline
from huggingface_hub import notebook_login

notebook_login()

device = "cuda"
model_path = "CompVis/stable-diffusion-v1-4"

pipe = StableDiffusionImg2ImgPipeline.from_pretrained(
    model_path,
    revision="fp16", 
    torch_dtype=torch.float16,
    use_auth_token=True
)
pipe = pipe.to(device)

def predict(image_url, strength, seed):
  seed=  int(seed)
  
  response = requests.get(image_url)
  init_img = Image.open(BytesIO(response.content)).convert("RGB")
  init_img = init_img.resize((768, 512))


  generator = torch.Generator(device=device).manual_seed(seed)
  with autocast("cuda"):
    image = pipe(prompt="", init_image=init_img, strength=strength, guidance_scale=5, generator=generator).images[0]

  return image
  
  
  
  gr.Interface(
    predict,
    title = 'Image to Image using Diffusers',
    inputs=[
        gr.Textbox(label="image_url"),

        gr.Slider(0, 1, value=0.05, label ="strength"),
        gr.Number(label = "seed")
        
    ],
    outputs = [
        gr.Image()
        ]
).launch()