Doubleupai commited on
Commit
d722905
·
verified ·
1 Parent(s): 78465bb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -17
app.py CHANGED
@@ -1,30 +1,31 @@
1
  import gradio as gr
2
  from PIL import Image
3
- import torch
4
- from torchvision import transforms
5
 
6
- # Загрузка предобученной модели (например, ESRGAN)
7
- # В данном примере используется заглушка, замените на реальную модель
8
  def load_model():
9
- # Пример загрузки модели (замените на вашу модель)
10
- model = torch.hub.load('pytorch/vision:v0.10.0', 'esrgan', pretrained=True)
11
- model.eval()
 
 
 
 
 
 
12
  return model
13
 
14
  # Функция для увеличения разрешения изображения
15
  def upscale_image(image):
16
- # Преобразование изображения в тензор
17
- input_image = transforms.ToTensor()(image).unsqueeze(0)
18
 
19
  # Увеличение разрешения с помощью модели
20
- with torch.no_grad():
21
- output_image = model(input_image)
22
 
23
- # Преобразование тензора обратно в изображение
24
- output_image = output_image.squeeze(0).clamp(0, 1)
25
- output_image = transforms.ToPILImage()(output_image)
26
-
27
- return output_image
28
 
29
  # Загрузка модели
30
  model = load_model()
@@ -35,7 +36,7 @@ iface = gr.Interface(
35
  inputs=gr.Image(type="pil", label="Входное изображение"),
36
  outputs=gr.Image(type="pil", label="Увеличенное изображение"),
37
  title="AI Image Upscaler",
38
- description="Загрузите изображение, чтобы увеличить его разрешение с помощью AI."
39
  )
40
 
41
  # Запуск интерфейса
 
1
  import gradio as gr
2
  from PIL import Image
3
+ import numpy as np
4
+ from realesrgan import RealESRGANer
5
 
6
+ # Инициализация модели Real-ESRGAN
 
7
  def load_model():
8
+ model = RealESRGANer(
9
+ scale=4, # Масштаб увеличения (4x)
10
+ model_path="weights/RealESRGAN_x4plus.pth", # Путь к модели
11
+ model=None,
12
+ tile=0, # Размер тайла (0 для отключения)
13
+ tile_pad=10,
14
+ pre_pad=0,
15
+ half=False # Использование полной точности (не half precision)
16
+ )
17
  return model
18
 
19
  # Функция для увеличения разрешения изображения
20
  def upscale_image(image):
21
+ # Преобразование изображения в numpy array
22
+ img = np.array(image)
23
 
24
  # Увеличение разрешения с помощью модели
25
+ output, _ = model.enhance(img, outscale=4)
 
26
 
27
+ # Преобразование результата обратно в изображение
28
+ return Image.fromarray(output)
 
 
 
29
 
30
  # Загрузка модели
31
  model = load_model()
 
36
  inputs=gr.Image(type="pil", label="Входное изображение"),
37
  outputs=gr.Image(type="pil", label="Увеличенное изображение"),
38
  title="AI Image Upscaler",
39
+ description="Загрузите изображение, чтобы увеличить его разрешение с помощью Real-ESRGAN."
40
  )
41
 
42
  # Запуск интерфейса