Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import requests | |
| import json | |
| import gradio as gr | |
| import torch | |
| from PIL import Image | |
| from gradio_client import Client | |
| theme = gr.themes.Base( | |
| primary_hue=gr.themes.Color( | |
| c100="#dbeafe", c200="#bfdbfe", c300="#93c5fd", c400="#60a5fa", c50="#eff6ff", c500="#0054ae", c600="#00377c", c700="#00377c", c800="#1e40af", c900="#1e3a8a", c950="#0a0c2b"), | |
| secondary_hue=gr.themes.Color( | |
| c100="#dbeafe", c200="#bfdbfe", c300="#93c5fd", c400="#60a5fa", c50="#eff6ff", c500="#0054ae", c600="#0054ae", c700="#0054ae", c800="#1e40af", c900="#1e3a8a", c950="#1d3660"), | |
| ).set( | |
| body_background_fill_dark='*primary_950', | |
| body_text_color_dark='#FFFFFF', | |
| body_text_color='#000000', | |
| border_color_accent='*primary_700', | |
| border_color_accent_dark='*neutral_800', | |
| block_background_fill_dark='*primary_950', | |
| block_border_width='2px', | |
| block_border_width_dark='2px', | |
| button_primary_background_fill_dark='*primary_500', | |
| button_primary_border_color_dark='*primary_500' | |
| ) | |
| css=''' | |
| @font-face { | |
| font-family: IntelOne; | |
| src: url("file/assets/intelone-bodytext-font-family-regular.ttf"); | |
| } | |
| table, td, tr { | |
| border: none !important; | |
| } | |
| ''' | |
| html_title = ''' | |
| <table> | |
| <tr style="height:150px"> | |
| <td style="border-bottom:0; vertical-align:middle"> | |
| <p style="font-size:xx-large;font-family:IntelOne, Georgia, sans-serif;color: var(--body-text-color);"> | |
| LDM3D: Latent Diffusion Model for 3D | |
| </p> | |
| </td> | |
| <td style="border-bottom:0;"><img src="file/assets/gaudi.png" width="100" height="100"></td> | |
| <td style="border-bottom:0;"><img src="file/assets/xeon.png" width="100" height="100"></td> | |
| </tr> | |
| </table> | |
| ''' | |
| client = Client("http://198.175.88.247:17810/") | |
| def build_iframe(rgb_path: str, depth_path: str, viewer_mode: str = "6DOF"): | |
| if viewer_mode == "6DOF": | |
| return f"""<iframe src="file=static/three6dof.html" width="100%" height="500px" data-rgb="/file={rgb_path}" data-depth="/file={depth_path}"></iframe>""" | |
| else: | |
| return f"""<iframe src="file=static/depthmap.html" width="100%" height="500px" data-rgb="/file={rgb_path}" data-depth="/file={depth_path}"></iframe>""" | |
| def generate( | |
| prompt: str, | |
| negative_prompt: str, | |
| guidance_scale: float = 5.0, | |
| seed: int = 0, | |
| randomize_seed: bool = True, | |
| ): | |
| rgb_url, depth_url, generated_seed, _ = client.predict( | |
| prompt, # str in 'Prompt' Textbox component | |
| negative_prompt, # str in 'Negative Prompt' Textbox component | |
| guidance_scale, # int | float (numeric value between 0 and 10) in 'Guidance Scale' Slider component | |
| seed, # int | float (numeric value between 0 and 18446744073709551615) in 'Seed' Slider component | |
| randomize_seed, # bool in 'Randomize Seed' Checkbox component | |
| False, # bool in 'Upscale' Checkbox component | |
| fn_index=1 | |
| ) | |
| iframe = build_iframe(rgb_url, depth_url) | |
| return rgb_url, depth_url, generated_seed, iframe | |
| with gr.Blocks(theme=theme, css=css) as demo: | |
| gr.HTML(value=html_title) | |
| gr.Markdown( | |
| """ | |
| [Model card](https://huggingface.co/Intel/ldm3d-pano) | |
| [Diffusers docs](https://huggingface.co/docs/diffusers/main/en/api/pipelines/stable_diffusion/ldm3d_diffusion) | |
| For better results, specify "360 view of" or "panoramic view of" in the prompt | |
| """ | |
| ) | |
| with gr.Row(): | |
| with gr.Column(scale=1): | |
| prompt = gr.Textbox(label="Prompt") | |
| negative_prompt = gr.Textbox(label="Negative Prompt") | |
| guidance_scale = gr.Slider( | |
| label="Guidance Scale", minimum=0, maximum=10, step=0.1, value=5.0 | |
| ) | |
| randomize_seed = gr.Checkbox(label="Randomize Seed", value=True) | |
| seed = gr.Slider(label="Seed", minimum=0, | |
| maximum=2**64 - 1, step=1) | |
| generated_seed = gr.Number(label="Generated Seed") | |
| markdown = gr.Markdown(label="Output Box") | |
| with gr.Row(): | |
| new_btn = gr.Button("New Image") | |
| with gr.Column(scale=2): | |
| html = gr.HTML() | |
| with gr.Row(): | |
| rgb = gr.Image(label="RGB Image", type="filepath") | |
| depth = gr.Image(label="Depth Image", type="filepath") | |
| gr.Examples( | |
| examples=[ | |
| ["360 view of a large bedroom", "", 7.0, 42, False]], | |
| inputs=[prompt, negative_prompt, guidance_scale, seed, randomize_seed], | |
| outputs=[rgb, depth, generated_seed, html], | |
| fn=generate, | |
| cache_examples=False) | |
| new_btn.click( | |
| fn=generate, | |
| inputs=[prompt, negative_prompt, guidance_scale, seed, randomize_seed], | |
| outputs=[rgb, depth, generated_seed, html], | |
| ) | |
| demo.launch( | |
| allowed_paths=["assets/", "static/", "/tmp/gradio/"] | |
| ) | |