File size: 1,711 Bytes
7f30599
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from PIL import Image
import torch
from torchvision import transforms

# Загрузка предобученной модели (например, ESRGAN)
# В данном примере используется заглушка, замените на реальную модель
def load_model():
    # Пример загрузки модели (замените на вашу модель)
    model = torch.hub.load('pytorch/vision:v0.10.0', 'esrgan', pretrained=True)
    model.eval()
    return model

# Функция для увеличения разрешения изображения
def upscale_image(image):
    # Преобразование изображения в тензор
    input_image = transforms.ToTensor()(image).unsqueeze(0)
    
    # Увеличение разрешения с помощью модели
    with torch.no_grad():
        output_image = model(input_image)
    
    # Преобразование тензора обратно в изображение
    output_image = output_image.squeeze(0).clamp(0, 1)
    output_image = transforms.ToPILImage()(output_image)
    
    return output_image

# Загрузка модели
model = load_model()

# Создание интерфейса Gradio
iface = gr.Interface(
    fn=upscale_image,
    inputs=gr.Image(type="pil", label="Входное изображение"),
    outputs=gr.Image(type="pil", label="Увеличенное изображение"),
    title="AI Image Upscaler",
    description="Загрузите изображение, чтобы увеличить его разрешение с помощью AI."
)

# Запуск интерфейса
iface.launch()