MoonLite / app.py
KhadgaA's picture
moonknight
dc604d9
import numpy as np
import torch
import torch.nn as nn
import gradio as gr
from PIL import Image
import torchvision.transforms as transforms
from lle import SYELLENetS
kwargs = {'channels': 12}
model = SYELLENetS(**kwargs)
model.load_state_dict(torch.load('./model_best_slim.pkl', map_location='cpu'))
model.eval()
def predict(input_img, ver):
input_img = Image.open(input_img)
# transform = transforms.Compose([transforms.Resize((400,60), Image.BICUBIC)])
input_img = np.array(input_img).transpose([2, 0, 1])
input_img = input_img.astype(np.float32) / 255.0
input_img = torch.from_numpy(input_img).unsqueeze(0)
with torch.no_grad():
outputs = model(input_img)
out_img = (outputs.clip(0, 1)[0] * 255).permute([1, 2, 0]).cpu().numpy().astype(np.uint8)[..., ::-1]
return transforms.ToPILImage()(out_img)
title="Image to Line Drawings - Complex and Simple Portraits and Landscapes"
examples=['./examples/1.png', './examples/22.png', './examples/23.png', './examples/55.png', './examples/79.png'
]
iface = gr.Interface(predict, inputs=gr.Image(type='filepath'),
outputs='image',
title=title,
examples=examples)
iface.launch()