import gradio as gr import os import json from pathlib import Path from serve.css import block_css from serve.markdown import * from serve.leaderboard import build_leaderboard_tab from serve.model import model_config # SERVER_PORT, ROOT_PATH, ELO_RESULTS_DIR SERVER_PORT = 7860 LEADERBOARD_DIR = "leaderboards" def build_combine_demo(): with gr.Blocks( title="", theme=gr.themes.Default(), css=block_css, ) as demo: gr.Markdown(get_title_md(), elem_id="title_markdown") gr.Markdown(get_intro_md(), elem_id="intro_markdown") gr.Markdown("Models", elem_id="subtitle_markdown") gr.Markdown(get_model_intro_md(), elem_id="intro_markdown") with gr.Accordion("๐Ÿ” Expand to see detailed generative models involved", open=False): gr.Markdown(get_model_description_md(model_config), elem_id="model_description_markdown") gr.Markdown("Criteria", elem_id="subtitle_markdown") gr.Markdown(get_object_dimension_intro_md(), elem_id="intro_markdown") with gr.Accordion("๐Ÿ” Expand to see detailed evaluation dimensions", open=False): gr.Markdown(get_object_dimension_description_md(), elem_id="evaldim_markdown") gr.Markdown("Leaderboard", elem_id="subtitle_markdown") # gr.Markdown(get_leaderboard_intro_md(), elem_id="intro_markdown") with gr.Tab("Hi3DEval"): gr.Markdown(get_hi3deval_intro_md(), elem_id="intro_markdown") hi3deval_leaderboard_file = gr.Textbox(value=os.path.join(LEADERBOARD_DIR, "object_hi3deval.csv"), visible=False) hi3deval_task_dropdown = gr.Dropdown( label="Choose Task", choices=["Full Leaderboard", "Text-to-3D only", "Image-to-3D only"], value="Full Leaderboard", # ้ป˜่ฎคๅ€ผ interactive=True, # ๅฏไบคไบ’ multiselect=False # ๅ•้€‰ ) hi3deval_leaderboard_table = build_leaderboard_tab(hi3deval_leaderboard_file) gr.Markdown(get_citation_md("hi3deval"), elem_id="citation_markdown") gr.Markdown("---", elem_id="intro_markdown") gr.Markdown("### Acknowledgement", elem_id="ack_markdown") gr.Markdown(get_ack_md, elem_id="ack_markdown") # with gr.Tab("Image-to-3D Generation", id=1): # build_leaderboard_tab() hi3deval_task_dropdown.change( build_leaderboard_tab, [hi3deval_leaderboard_file, hi3deval_task_dropdown], hi3deval_leaderboard_table ) return demo if __name__ == "__main__": demo = build_combine_demo() # demo.queue(max_size=20).launch(server_port=server_port, root_path=ROOT_PATH, debug=True) demo.queue(max_size=20).launch(server_port=SERVER_PORT, debug=True)