import onnxruntime print(onnxruntime.get_device()) import os import gradio as gr os.system("pip install gdown") os.system("gdown https://drive.google.com/uc?id=1riNxV1BWMAXfmWZ3LrQbEkvzV8f7lOCp") opts = onnxruntime.SessionOptions() opts.intra_op_num_threads = 16 onnx_session = onnxruntime.InferenceSession("/home/user/app/face_paint_512_v2_0.onnx",sess_options=opts) input_name = onnx_session.get_inputs()[0].name output_name = onnx_session.get_outputs()[0].name side_length = 512 import cv2 as cv import numpy as np from PIL import Image def inference(img): image = np.array(img) image = image[:, :, ::-1].copy() image = cv.resize(image, dsize=(side_length, side_length)) x = cv.cvtColor(image, cv.COLOR_BGR2RGB) x = np.array(x, dtype=np.float32) x = x.transpose(2, 0, 1) x = x * 2 - 1 x = x.reshape(-1, 3, side_length, side_length) onnx_result = onnx_session.run([output_name], {input_name: x}) onnx_result = np.array(onnx_result).squeeze() onnx_result = (onnx_result * 0.5 + 0.5).clip(0, 1) onnx_result = onnx_result * 255 onnx_result = onnx_result.transpose(1, 2, 0).astype('uint8') onnx_result = cv.cvtColor(onnx_result, cv.COLOR_RGB2BGR) img = cv.cvtColor(onnx_result, cv.COLOR_BGR2RGB) im_pil = Image.fromarray(img) return im_pil title = "Animeganv2" description = "Gradio demo for AnimeGanv2 Face Portrait v2. To use it, simply upload your image, or click one of the examples to load them. Read more at the links below." article = "

Github Repo Pytorch | Github Repo ONNX

samples from repo: animation animation

" gr.Interface(inference, gr.inputs.Image(type="pil", source="webcam"), gr.outputs.Image(type="pil"),title=title,description=description,article=article,enable_queue=True,live=True).launch()