Spaces:
Paused
Paused
| import gradio as gr | |
| from PIL import Image | |
| import torch | |
| from torchvision import transforms | |
| # Загрузка предобученной модели ESRGAN через torch.hub | |
| 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 (ESRGAN)", | |
| description="Загрузите изображение, чтобы увеличить его разрешение с помощью ESRGAN." | |
| ) | |
| # Запуск интерфейса | |
| iface.launch() |