Nicolas Burrus
Start building an example.
75bdb59
raw history blame
No virus
1.15 kB
#!/usr/bin/env python
import gradio as gr
import torch
from torch import Tensor
from torchvision import transforms
import numpy as np
import sys
model = None
def load_model():
global model
model = torch.jit.load("model.pt")
def denormalize_and_clip_as_tensor (im: Tensor) -> Tensor:
return torch.clip(im * 0.5 + 0.5, 0.0, 1.0)
def denormalize_and_clip_as_numpy (im: Tensor) -> np.ndarray:
im = im.squeeze(0)
return np.ascontiguousarray(denormalize_and_clip_as_tensor(im).permute(1,2,0).detach().cpu().numpy())
def undo_antialiasing(im):
im_torch = torch.from_numpy (im).permute(2,0,1).unsqueeze(0).float() / 255.0
im_torch = transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))(im_torch)
with torch.no_grad():
output_torch = model(im_torch)
output = denormalize_and_clip_as_numpy(output_torch.rgb)
return (output*255.99).astype(np.uint8)
load_model()
iface = gr.Interface(fn=undo_antialiasing,
inputs=gr.inputs.Image(),
outputs=gr.outputs.Image(),
examples=[['examples/Bowling.png'], ['examples/opencv.png']])
iface.launch()