2023-03-28 11:09:31 +08:00
import gradio as gr
from PIL import Image
import torch
2023-03-28 16:24:55 +08:00
model_dir = " hub/animegan2-pytorch-main "
model_dir_weight = " hub/checkpoints/face_paint_512_v1.pt "
2023-03-28 15:09:09 +08:00
2023-03-28 11:09:31 +08:00
model2 = torch . hub . load (
2023-03-28 15:09:09 +08:00
model_dir ,
2023-03-28 11:09:31 +08:00
" generator " ,
pretrained = True ,
2023-03-28 15:09:09 +08:00
progress = False ,
source = " local "
2023-03-28 11:09:31 +08:00
)
2023-03-28 15:09:09 +08:00
model1 = torch . load ( model_dir_weight )
2023-03-28 11:09:31 +08:00
face2paint = torch . hub . load (
2023-03-28 15:09:09 +08:00
model_dir , ' face2paint ' ,
size = 512 , side_by_side = False ,
source = " local "
2023-03-28 11:09:31 +08:00
)
def inference ( img , ver ) :
if ver == ' version 2 (🔺 robustness,🔻 stylization) ' :
out = face2paint ( model2 , img )
else :
out = face2paint ( model1 , img )
return out
title = " AnimeGANv2 "
description = " Gradio Demo for AnimeGanv2 Face Portrait. To use it, simply upload your image, or click one of the examples to load them. Read more at the links below. Please use a cropped portrait picture for best results similar to the examples below. "
article = " <p style= ' text-align: center ' ><a href= ' https://github.com/bryandlee/animegan2-pytorch ' target= ' _blank ' >Github Repo Pytorch</a></p> <center><img src= ' https://visitor-badge.glitch.me/badge?page_id=akhaliq_animegan ' alt= ' visitor badge ' ></center></p> "
2023-03-29 10:13:03 +08:00
examples = [ [ ' pictures/groot.jpeg ' , ' version 2 (🔺 robustness,🔻 stylization) ' ] , [ ' pictures/gongyoo.jpeg ' , ' version 1 (🔺 stylization, 🔻 robustness) ' ] ]
2023-03-28 11:09:31 +08:00
demo = gr . Interface (
fn = inference ,
inputs = [ gr . inputs . Image ( type = " pil " ) , gr . inputs . Radio ( [ ' version 1 (🔺 stylization, 🔻 robustness) ' , ' version 2 (🔺 robustness,🔻 stylization) ' ] , type = " value " , default = ' version 2 (🔺 robustness,🔻 stylization) ' , label = ' version ' ) ] ,
outputs = gr . outputs . Image ( type = " pil " ) ,
title = title ,
description = description ,
article = article ,
examples = examples )
2023-03-28 16:24:55 +08:00
demo . launch ( server_name = " 0.0.0.0 " )