File size: 2,887 Bytes
56a97f7
148a19e
c250292
67fe755
50b7dca
dd8ad63
46bd6e1
810d24d
a9636e0
b767bd0
46bd6e1
8cf79c4
dd8ad63
50b7dca
148a19e
dd8ad63
 
148a19e
56a97f7
96df419
60bb1e3
57e5af9
 
 
 
 
 
 
 
 
148a19e
56a97f7
f6edc5a
fd83c23
6ef3888
fd83c23
2061b93
56a97f7
306b921
fd83c23
96df419
9cdcaf0
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
41
42
43
from PIL import Image
import torch
import gradio as gr

model2 = torch.hub.load(
    "AK391/animegan2-pytorch:main",
    "generator",
    pretrained=True,
    device="cuda",
    progress=False
)

model1 = torch.hub.load("AK391/animegan2-pytorch:main", "generator", pretrained="face_paint_512_v1",  device="cuda")

face2paint = torch.hub.load(
    'AK391/animegan2-pytorch:main', 'face2paint', 
    size=512, device="cuda",side_by_side=False
)

def inference(imgweb,img,option,ver):
    if option == 'webcam':
        if ver == 'version 2 (🔺 robustness,🔻 stylization)':
            out = face2paint(model2, imgweb)
        else:
            out = face2paint(model1, imgweb)
    else: 
        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 v2. 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> | <a href='https://github.com/Kazuhito00/AnimeGANv2-ONNX-Sample' target='_blank'>Github Repo ONNX</a></p><p style='text-align: center'>samples from repo: <img src='https://user-images.githubusercontent.com/26464535/129888683-98bb6283-7bb8-4d1a-a04a-e795f5858dcf.gif' alt='animation'/> <img src='https://user-images.githubusercontent.com/26464535/137619176-59620b59-4e20-4d98-9559-a424f86b7f24.jpg' alt='animation'/></p>"

examples=[['groot.jpeg','version 2 (🔺 robustness,🔻 stylization)'],['bill.png','version 1 (🔺 stylization, 🔻 robustness)'],['tony.png','version 1 (🔺 stylization, 🔻 robustness)'],['elon.png','version 2 (🔺 robustness,🔻 stylization)'],['IU.png','version 1 (🔺 stylization, 🔻 robustness)'],['billie.png','version 2 (🔺 robustness,🔻 stylization)'],['will.png','version 2 (🔺 robustness,🔻 stylization)'],['beyonce.jpeg','version 1 (🔺 stylization, 🔻 robustness)'],['gongyoo.jpeg','version 1 (🔺 stylization, 🔻 robustness)']]

gr.Interface(inference, [gr.inputs.Image(type="pil",label='Input Image',optional=True),gr.inputs.Radio(['version 1 (🔺 stylization, 🔻 robustness)','version 2 (🔺 robustness,🔻 stylization)'], type="value", default='version 2 (🔺 robustness,🔻 stylization)', label='version'),gr.inputs.Radio(['webcam','image upload'], type="value", default='webcam', label='Source'),gr.inputs.Image(type="pil",label='Input Webcam',source='webcam',optional=True)
], gr.outputs.Image(type="pil"),title=title,description=description,article=article,enable_queue=True,examples=examples,allow_flagging=False).launch()