File size: 1,439 Bytes
dabd818
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from diffusers import StableDiffusionPipeline
import torch

model_id = "runwayml/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

def generate_image(prompt, guidance_scale=7.5, num_inference_steps=50):
  image = pipe(prompt, guidance_scale=guidance_scale, num_inference_steps=num_inference_steps).images[0]
  return image

with gr.Blocks() as demo:
  with gr.Tab("Генерация"):
    with gr.Row():
      with gr.Column():
        prompt_input = gr.Textbox(label="Введите описание картинки", lines=2)
        generate_button = gr.Button(label="Сгенерировать")
      with gr.Column():
        image_output = gr.Image(label="Результат")
  with gr.Tab("Настройки"):
    with gr.Row():
      guidance_scale_slider = gr.Slider(label="Guidance Scale (чем больше, тем больше соответствует описанию)", minimum=1, maximum=20, step=0.5, value=7.5)
      num_inference_steps_slider = gr.Slider(label="Number of Inference Steps (чем больше, тем качественнее, но дольше)", minimum=10, maximum=100, step=10, value=50)

  generate_button.click(fn=generate_image, 
                       inputs=[prompt_input, guidance_scale_slider, num_inference_steps_slider], 
                       outputs=image_output)

demo.launch()