Spaces:
Running
on
T4
Running
on
T4
import os | |
os.system("git clone https://github.com/bryandlee/animegan2-pytorch") | |
os.system("gdown https://drive.google.com/uc?id=1WK5Mdt6mwlcsqCZMHkCUSDJxN1UyFi0-") | |
os.system("gdown https://drive.google.com/uc?id=18H3iK09_d54qEDoWIc82SyWB2xun4gjU") | |
import sys | |
sys.path.append("animegan2-pytorch") | |
import torch | |
torch.set_grad_enabled(False) | |
from model import Generator | |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu") | |
model = Generator().eval().to(device) | |
model.load_state_dict(torch.load("face_paint_512_v2_0.pt")) | |
from PIL import Image | |
from torchvision.transforms.functional import to_tensor, to_pil_image | |
import gradio as gr | |
def face2paint( | |
img: Image.Image, | |
size: int, | |
side_by_side: bool = False, | |
) -> Image.Image: | |
input = to_tensor(img).unsqueeze(0) * 2 - 1 | |
output = model(input.to(device)).cpu()[0] | |
if side_by_side: | |
output = torch.cat([input[0], output], dim=2) | |
output = (output * 0.5 + 0.5).clip(0, 1) | |
return to_pil_image(output) | |
import os | |
import collections | |
from typing import Union, List | |
import numpy as np | |
from PIL import Image | |
import PIL.Image | |
import PIL.ImageFile | |
import numpy as np | |
import scipy.ndimage | |
import requests | |
def inference(img): | |
out = face2paint(img, 512) | |
return out | |
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 = "<p style='text-align: center'><a href='https://github.com/bryandlee/animegan2-pytorch' target='_blank'>Github Repo</a></p>" | |
examples=[['groot.jpeg','elon.png', 'bill.png','tony.png']] | |
gr.Interface(inference, gr.inputs.Image(type="pil",shape=(512,512)), gr.outputs.Image(type="pil"),title=title,description=description,article=article,examples=examples,enable_queue=True).launch() | |