File size: 4,242 Bytes
a005c19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import gradio as gr
from sheet_manager.sheet_crud.sheet_crud import  SheetManager
import pandas as pd

def list_to_dataframe(data):
    """
    리슀트 데이터λ₯Ό λ°μ΄ν„°ν”„λ ˆμž„μœΌλ‘œ λ³€ν™˜ν•˜λŠ” ν•¨μˆ˜.
    각 값이 λ°μ΄ν„°ν”„λ ˆμž„μ˜ ν•œ ν–‰(row)에 듀어가도둝 μ„€μ •.
    
    :param data: 리슀트 ν˜•νƒœμ˜ 데이터
    :return: pandas.DataFrame
    """
    if not isinstance(data, list):
        raise ValueError("μž…λ ₯ λ°μ΄ν„°λŠ” 리슀트 ν˜•νƒœμ—¬μ•Ό ν•©λ‹ˆλ‹€.")
    
    # μ—΄ 이름을 λ¬Έμžμ—΄λ‘œ μ„€μ •
    headers = [f"Queue {i}" for i in range(len(data))]
    df = pd.DataFrame([data], columns=headers)
    return df

def model_submit(model_id , benchmark_name, prompt_cfg_name):
    model_id = model_id.split("/")[-1]
    sheet_manager = SheetManager()
    sheet_manager.push(model_id)
    model_q = list_to_dataframe(sheet_manager.get_all_values())
    sheet_manager.change_column("benchmark_name")
    sheet_manager.push(benchmark_name)
    sheet_manager.change_column("prompt_cfg_name")
    sheet_manager.push(prompt_cfg_name)

    return model_q

def read_queue():
    sheet_manager = SheetManager()
    return list_to_dataframe(sheet_manager.get_all_values())

def submit_tab():
    with gr.Tab("πŸš€ Submit here! "):
        with gr.Row():
            gr.Markdown("# βœ‰οΈβœ¨ Submit your Result here!")

        with gr.Row():
            with gr.Tab("Model"):
                with gr.Row():
                    with gr.Column():
                        model_id_textbox = gr.Textbox(
                            label="huggingface_id", 
                            placeholder="PIA-SPACE-LAB/T2V_CLIP4Clip",
                            interactive = True
                            )
                        benchmark_name_textbox = gr.Textbox(
                            label="benchmark_name", 
                            placeholder="PiaFSV",
                            interactive = True,
                            value="PIA"
                            )
                        prompt_cfg_name_textbox = gr.Textbox(
                            label="prompt_cfg_name", 
                            placeholder="topk",
                            interactive = True,
                            value="topk"
                            )
                    with gr.Column():
                        gr.Markdown("## 평가λ₯Ό λ°›μ•„λ³΄μ„Έμš” λ°˜λ“œμ‹œ ν—ˆκΉ…νŽ˜μ΄μŠ€μ— μ—…λ‘œλ“œλœ λͺ¨λΈμ΄μ–΄μ•Ό ν•©λ‹ˆλ‹€.")
                        gr.Markdown("#### ν˜„μž¬ 평가 λŒ€κΈ°μ€‘ λͺ¨λΈμž…λ‹ˆλ‹€.")
                        model_queue = gr.Dataframe()
                        refresh_button = gr.Button("refresh")
                        refresh_button.click(
                            fn=read_queue,
                            outputs=model_queue
                        )
                with gr.Row():
                    model_submit_button = gr.Button("Submit Eval")
                    model_submit_button.click(
                        fn=model_submit,
                        inputs=[model_id_textbox,
                        benchmark_name_textbox , 
                        prompt_cfg_name_textbox],
                        outputs=model_queue
                    )
            with gr.Tab("Prompt"):
                with gr.Row():
                    with gr.Column():
                        prompt_cfg_selector = gr.Dropdown(
                            choices=["μ „λΆ€"],
                            label="Prompt_CFG",
                            multiselect=False,
                            value=None,
                            interactive=True,
                        )
                        weight_type = gr.Dropdown(
                            choices=["μ „λΆ€"],
                            label="Weights type",
                            multiselect=False,
                            value=None,
                            interactive=True,
                        )
                    with gr.Column():
                        gr.Markdown("## 평가λ₯Ό λ°›μ•„λ³΄μ„Έμš” λ°˜λ“œμ‹œ ν—ˆκΉ…νŽ˜μ΄μŠ€μ— μ—…λ‘œλ“œλœ λͺ¨λΈμ΄μ–΄μ•Ό ν•©λ‹ˆλ‹€.")

                with gr.Row():
                    prompt_submit_button = gr.Button("Submit Eval")