Ohayou_Face / app.py
Reevee's picture
first
f39e999
raw
history blame
No virus
1.67 kB
import os
from PIL import Image
import gradio as gr
from torchvision import transforms
import easydict
import torch
import numpy as np
import model_build
psp = model_build.build_psp()
stylegan2 = model_build.build_stylegan2()
pretransform = transforms.Compose([
transforms.Resize((256, 256)),
transforms.ToTensor(),
transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])])
def pipeline(img):
img = model_build.img_preprocess(img, pretransform)
with torch.no_grad():
_, latent_space = psp(img.float(), randomize_noise=True, resize=False, return_latents=True)
img = stylegan2(latent_space, noise_mode='none')
img = Image.fromarray(np.array((img.permute(0, 2, 3, 1) * 127.5 + 128).clamp(0, 255).to(torch.uint8).squeeze(0)[20:-20,:,:]))
img.save('output.png')
return 'output.png'
examples=[['momoi_out.png',False], ['churuki_out.png', False], ['fgfgfggf.png', False], ['dsfd.png', False]]
description="The male image doesn't work well. 1:1 ratio image recommended (square cropable after uploading). If the background is not monochromatic, it can be mixed with hair color. It takes an average of 5 seconds, but it can take longer if there is a lot of traffic. 남성 이미지에는 잘 작동하지 않음. 1:1비율 권장(업로드 후 정사각형 자르기 가능), 배경이 단색이 아니면 머리색과 섞일 수 있음. 트래픽이 많으면 5초 이상 걸릴 수 있음. Email:krkmfn@gmail.com"
gr.Interface(pipeline, [gr.inputs.Image(type="pil")], gr.outputs.Image(type="file"),description=description,allow_flagging=False,examples=examples,allow_screenshot=False,enable_queue=False).launch()