Rooni commited on
Commit
4c6f71a
·
1 Parent(s): e787c11

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -0
app.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from diffusers import StableDiffusionPipeline
3
+
4
+ # Функция для генерации изображения
5
+ def generate_image(prompt, model_name, sampling_steps, cfg, sampling_method, seed, width, height):
6
+ # Установка модели в зависимости от выбранного названия
7
+ if model_name == "Vector Art":
8
+ model_path = "stablediffusionapi/vector-art"
9
+ # Загрузка модели (пример с использованием StableDiffusionPipeline)
10
+ model = StableDiffusionPipeline.from_pretrained(model_path)
11
+ # Установка параметров генерации
12
+ generator = torch.manual_seed(seed) if seed != -1 else None
13
+ # Генерация изображения
14
+ image = model(prompt, num_inference_steps=sampling_steps, guidance_scale=cfg, generator=generator).images[0]
15
+ # Преобразование изображения для отображения в Gradio
16
+ return image
17
+
18
+ # Создание интерфейса с использованием gr.Blocks
19
+ with gr.Blocks() as app:
20
+ gr.Markdown("Генератор изображений")
21
+ with gr.Tab("Основные настройки"):
22
+ with gr.Row():
23
+ prompt_input = gr.Textbox(label="Введите текстовый запрос")
24
+ model_select = gr.Radio(choices=["Vector Art"], label="Выберите модель", value="Vector Art")
25
+ with gr.Tab("Расширенные настройки"):
26
+ with gr.Row():
27
+ sampling_steps_input = gr.Slider(minimum=1, maximum=30, step=1, label="Sampling Steps", value=20)
28
+ cfg_input = gr.Slider(minimum=1, maximum=20, step=1, label="Classifier Free Guidance (CFG)", value=7)
29
+ sampling_method_input = gr.Radio(choices=["DDIM", "DDPM", "PLMS"], label="Sampling Method", value="DDIM")
30
+ seed_input = gr.Slider(minimum=-1, maximum=100000, step=1, label="Seed", value=-1)
31
+ width_input = gr.Slider(minimum=15, maximum=1023, step=1, label="Width", value=512)
32
+ height_input = gr.Slider(minimum=15, maximum=1023, step=1, label="Height", value=512)
33
+ with gr.Row():
34
+ generate_button = gr.Button("Сгенерировать")
35
+ output_image = gr.Image(label="Сгенерированное изображение")
36
+
37
+ # Подключение функции генерации к кнопке
38
+ generate_button.click(
39
+ generate_image,
40
+ inputs=[prompt_input, model_select, sampling_steps_input, cfg_input, sampling_method_input, seed_input, width_input, height_input],
41
+ outputs=output_image
42
+ )
43
+
44
+ app.launch()