Felguk commited on
Commit
7b634d5
·
verified ·
1 Parent(s): 6b6ea07

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +66 -0
app.py CHANGED
@@ -1,5 +1,10 @@
1
  import gradio as gr
2
  from transformers import pipeline
 
 
 
 
 
3
 
4
  # Загружаем модели для анализа тональности, суммаризации текста, генерации подписей к изображениям, ответов на вопросы, перевода текста, определения эмоций, автодополнения кода, определения фейковых новостей, NER, классификации изображений, генерации кода и исправления кода
5
  sentiment_pipeline = pipeline("sentiment-analysis")
@@ -15,6 +20,30 @@ image_classification_pipeline = pipeline("image-classification", model="google/v
15
  code_generation_pipeline = pipeline("text-generation", model="deepseek-ai/deepseek-coder-1.3b-instruct")
16
  code_fix_pipeline = pipeline("text-generation", model="deepseek-ai/deepseek-coder-1.3b-instruct")
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  # Функция для анализа тональности текста
19
  def analyze_sentiment(text):
20
  result = sentiment_pipeline(text)[0]
@@ -87,6 +116,19 @@ def fix_code(error, problem, solution, example):
87
  result = code_fix_pipeline(prompt, max_length=200, num_return_sequences=1)
88
  return result[0]['generated_text']
89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  # Примеры текстов для анализа тональности
91
  sentiment_examples = [
92
  "I love programming, it's so much fun!",
@@ -305,6 +347,30 @@ with gr.Blocks() as demo:
305
  examples=code_fix_examples,
306
  examples_per_page=2
307
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
308
 
309
  # Запускаем интерфейс
310
  demo.launch()
 
1
  import gradio as gr
2
  from transformers import pipeline
3
+ from diffusers import StableDiffusionPipeline # Для генерации изображений
4
+ import torch
5
+ from PIL import Image
6
+ import requests
7
+ from io import BytesIO
8
 
9
  # Загружаем модели для анализа тональности, суммаризации текста, генерации подписей к изображениям, ответов на вопросы, перевода текста, определения эмоций, автодополнения кода, определения фейковых новостей, NER, классификации изображений, генерации кода и исправления кода
10
  sentiment_pipeline = pipeline("sentiment-analysis")
 
20
  code_generation_pipeline = pipeline("text-generation", model="deepseek-ai/deepseek-coder-1.3b-instruct")
21
  code_fix_pipeline = pipeline("text-generation", model="deepseek-ai/deepseek-coder-1.3b-instruct")
22
 
23
+ # Загружаем модель для генерации изображений (Stable Diffusion)
24
+ if torch.cuda.is_available():
25
+ device = "cuda"
26
+ else:
27
+ device = "cpu"
28
+
29
+ image_generation_pipeline = StableDiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1").to(device)
30
+
31
+ # Загружаем модель для расширения изображений (Real-ESRGAN)
32
+ def load_esrgan_model():
33
+ from realesrgan import RealESRGANer
34
+ model = RealESRGANer(
35
+ scale=4,
36
+ model_path="https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-general-x4v3.pth",
37
+ model=None,
38
+ tile=0,
39
+ tile_pad=10,
40
+ pre_pad=0,
41
+ half=False,
42
+ )
43
+ return model
44
+
45
+ esrgan_model = load_esrgan_model()
46
+
47
  # Функция для анализа тональности текста
48
  def analyze_sentiment(text):
49
  result = sentiment_pipeline(text)[0]
 
116
  result = code_fix_pipeline(prompt, max_length=200, num_return_sequences=1)
117
  return result[0]['generated_text']
118
 
119
+ # Функция для расширения изображений (Flux Extend Image)
120
+ def extend_image(image):
121
+ # Преобразуем изображение в формат, подходящий для модели
122
+ img = Image.open(image).convert("RGB")
123
+ output, _ = esrgan_model.enhance(img, outscale=4)
124
+ return output
125
+
126
+ # Функция для генерации изображений (Image Generation)
127
+ def generate_image(prompt):
128
+ with torch.autocast("cuda"):
129
+ image = image_generation_pipeline(prompt).images[0]
130
+ return image
131
+
132
  # Примеры текстов для анализа тональности
133
  sentiment_examples = [
134
  "I love programming, it's so much fun!",
 
347
  examples=code_fix_examples,
348
  examples_per_page=2
349
  )
350
+ with gr.Tab("Flux Extend Image"):
351
+ gr.Interface(
352
+ fn=extend_image,
353
+ inputs=gr.Image(type="pil", label="Загрузите изображение"),
354
+ outputs=gr.Image(type="pil", label="Расширенное изображение"),
355
+ title="Расширение изображений (Flux Extend Image)",
356
+ description="Загрузите изображение, чтобы увеличить его разрешение.",
357
+ examples=image_examples,
358
+ examples_per_page=2
359
+ )
360
+ with gr.Tab("Image Generation"):
361
+ gr.Interface(
362
+ fn=generate_image,
363
+ inputs=gr.Textbox(lines=2, placeholder="Введите текстовый запрос..."),
364
+ outputs=gr.Image(type="pil", label="Сгенерированное изображение"),
365
+ title="Генерация изображений (Image Generation)",
366
+ description="Введите текстовый запрос, чтобы сгенерировать изображение.",
367
+ examples=[
368
+ "A futuristic cityscape at night",
369
+ "A beautiful landscape with mountains and a lake",
370
+ "An astronaut riding a horse in space"
371
+ ],
372
+ examples_per_page=2
373
+ )
374
 
375
  # Запускаем интерфейс
376
  demo.launch()