Spaces:
Running
on
Zero
Running
on
Zero
| import spaces | |
| import gradio as gr | |
| import subprocess | |
| subprocess.run("pip install git+https://github.com/inference-sh/Real-ESRGAN.git --no-deps", shell=True) | |
| from gradio_pannellum import Pannellum | |
| import torch | |
| from huggingface_hub import snapshot_download | |
| from txt2panoimg import Text2360PanoramaImagePipeline | |
| from PIL import Image | |
| # Download the model | |
| model_path = snapshot_download("archerfmy0831/sd-t2i-360panoimage") | |
| # Initialize pipelines | |
| txt2panoimg = Text2360PanoramaImagePipeline(model_path, torch_dtype=torch.float16) | |
| def text_to_pano(prompt, upscale): | |
| input_data = {'prompt': prompt, 'upscale': upscale, 'refinement': False} | |
| output = txt2panoimg(input_data) | |
| return output, output | |
| title = """<h1 align="center">SD-T2I-360PanoImage</h1> | |
| <p align="center">360° Panorama Image Generation</p> | |
| <p><center> | |
| <a href="https://github.com/ArcherFMY/SD-T2I-360PanoImage/" target="_blank">[Github]</a> | |
| <a href="https://huggingface.co/archerfmy0831/sd-t2i-360panoimage" target="_blank">[Models]</a> | |
| </center></p> | |
| """ | |
| with gr.Blocks(theme='bethecloud/storj_theme') as demo: | |
| gr.HTML(title) | |
| with gr.Row(): | |
| with gr.Column(): | |
| t2p_input = gr.Textbox(label="Enter your prompt", lines=3) | |
| t2p_upscale = gr.Checkbox(label="Upscale (takes about 60 seconds 6144x3072 resolution)") | |
| t2p_generate = gr.Button("Generate Panorama") | |
| with gr.Column(variant="default"): | |
| t2p_output = Pannellum(show_label=False, interactive=True) | |
| with gr.Row(): | |
| t2p_image_output = gr.Image(label="Generated Image") | |
| # Add a hidden component to store a random value | |
| update_trigger = gr.State(value=0) | |
| def generate_with_update(prompt, upscale, trigger): | |
| output, image = text_to_pano(prompt, upscale) | |
| return output, image, trigger + 1 | |
| t2p_generate.click( | |
| generate_with_update, | |
| inputs=[t2p_input, t2p_upscale, update_trigger], | |
| outputs=[t2p_output, t2p_image_output, update_trigger] | |
| ) | |
| demo.launch() |