File size: 1,114 Bytes
a3a3ae4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import spaces
from PIL import Image
from typing import List

from pipeline import prepare_white_image, MultiViewGenerator
from util import download_file, unzip_file

download_file("https://huggingface.co/aki-0421/character-360/resolve/main/v2.ckpt", "v2.ckpt")
download_file("https://huggingface.co/hbyang/Hi3D/resolve/main/ckpts.zip", "ckpts.zip")

unzip_file("ckpts.zip", ".")

multi_view_generator = MultiViewGenerator(checkpoint_path="v2.ckpt")

@spaces.GPU(duration=120)
def generate_images(input_image: Image.Image) -> List[Image.Image]:
    white_image = prepare_white_image(input_image=input_image)

    return multi_view_generator.infer(white_image=white_image)


with gr.Blocks() as demo:
    gr.Markdown("# GPU-accelerated Image Processing")
    with gr.Row():
        input_image = gr.Image(label="Input Image", type="pil")  # 入力はPIL形式
        output_gallery = gr.Gallery(label="Output Images (25 Variations)").style(grid=(5, 5))
    submit_button = gr.Button("Generate")

    submit_button.click(generate_images, inputs=input_image, outputs=output_gallery)

demo.launch()