Spaces:
Sleeping
Sleeping
File size: 1,152 Bytes
75bdb59 |
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 |
#!/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()
|