File size: 2,815 Bytes
f216956
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9cb5506
 
 
 
 
f216956
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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)