File size: 1,839 Bytes
4b92eb9
 
 
 
 
 
 
 
363f5c8
 
c4b0964
4b92eb9
 
 
 
 
ad9ba50
 
4b92eb9
 
 
 
 
 
 
 
 
 
 
 
 
cab36dc
4b92eb9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os
import gradio as gr
import torch
from diffusers import DiffusionPipeline

print(f"Is CUDA available: {torch.cuda.is_available()}")

if torch.cuda.is_available():
    print(f"CUDA device: {torch.cuda.get_device_name(torch.cuda.current_device())}")
    pipe_sd = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16, revision="fp16", use_auth_token=os.getenv("HUGGING_FACE_HUB_TOKEN")).to("cuda")
    pipe_vq = DiffusionPipeline.from_pretrained("microsoft/vq-diffusion-ithq", torch_dtype=torch.float16).to("cuda")
else:
    pipe_sd = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", use_auth_token=os.getenv("HUGGING_FACE_HUB_TOKEN"))
    pipe_vq = DiffusionPipeline.from_pretrained("microsoft/vq-diffusion-ithq")

examples = [
  ["A sketch of a palm tree."],
  ["A teddy bear playing in the pool."],
  ["A simple wedding cake with lego bride and groom topper and cake pops."],
  ["A realistic tree using a mixture of different colored pencils."],
  ["Muscular Santa Claus."],
  ["A man with a pineapple head."],
  ["Pebble tower standing on the left on the sea beach."],
]

title = "VQ Diffusion vs. Stable Diffusion 1-5"
description = "This demo compares [VQ-Diffusion-ITHQ](https://huggingface.co/microsoft/vq-diffusion-ithq) and [Stable-Diffusion-v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5) for text to image generation."


def inference(text):
    output_sd = pipe_sd(text).images[0]
    output_vq_diffusion = pipe_vq(text, truncation_rate=1.0).images[0]
    return [output_vq_diffusion, output_sd]


io = gr.Interface(
  inference,
  gr.Textbox(lines=3),
  outputs=[
    gr.Image(type="pil", label="VQ-Diffusion"),
    gr.Image(type="pil", label="Stable Diffusion"),
  ],
  title=title,
  description=description,
  examples=examples
)
io.launch()