AlexNijjar's picture
Add duplicate submission graph
4d944cb unverified
import gradio as gr
from chain_data import sync_chain
from leaderboard import create_leaderboard, create_dropdown, create_baseline
from model_demo import create_demo
from submissions import create_submissions, create_duplicate_submissions_plot, DROPDOWN_OPTIONS
from validator_states import create_validator_states
from validator_weights import create_weights
from wandb_data import sync
def main():
sync_chain()
sync()
with gr.Blocks(css=".typewriter {font-family: 'JMH Typewriter', sans-serif;}", fill_height=True, fill_width=True) as app:
with gr.Tab("Leaderboard") as leaderboard_tab:
dropdown = gr.Dropdown()
dropdown.attach_load_event(lambda: create_dropdown(), None)
baseline_dataframe = gr.Dataframe()
baseline_dataframe.attach_load_event(lambda uid: create_baseline(uid), None, inputs=[dropdown])
leaderboard_tab.select(lambda uid: create_baseline(uid), inputs=[dropdown], outputs=[baseline_dataframe])
dropdown.change(lambda uid: create_baseline(uid), inputs=[dropdown], outputs=[baseline_dataframe])
leaderboard_dataframe = gr.Dataframe()
leaderboard_dataframe.attach_load_event(lambda uid: create_leaderboard(uid), None, inputs=[dropdown])
leaderboard_tab.select(lambda uid: create_leaderboard(uid), inputs=[dropdown], outputs=[leaderboard_dataframe])
dropdown.change(lambda uid: create_leaderboard(uid), inputs=[dropdown], outputs=[leaderboard_dataframe])
with gr.Tab("Validator States") as validator_states_tab:
validator_states_dataframe = gr.Dataframe()
validator_states_dataframe.attach_load_event(lambda: create_validator_states(), None)
validator_states_tab.select(lambda: create_validator_states(), [], [validator_states_dataframe])
with gr.Tab("Validator Weights") as validator_weights_tab:
include_inactive_checkbox = gr.Checkbox(False, label="Include Inactive", container=False)
validator_weights_dataframe = gr.Dataframe()
validator_weights_dataframe.attach_load_event(lambda include_inactive: create_weights(include_inactive), None, [include_inactive_checkbox])
validator_weights_tab.select(lambda include_inactive: create_weights(include_inactive), [include_inactive_checkbox], [validator_weights_dataframe])
include_inactive_checkbox.change(lambda include_inactive: create_weights(include_inactive), [include_inactive_checkbox], [validator_weights_dataframe])
with gr.Tab("Submissions") as submissions_tab:
filter_dropdown = gr.Dropdown(choices=DROPDOWN_OPTIONS, value=DROPDOWN_OPTIONS, label="Filter", container=False, multiselect=True)
submissions_dataframe = gr.Dataframe()
submissions_dataframe.attach_load_event(lambda include_blacklisted: create_submissions(include_blacklisted), None, [filter_dropdown])
submissions_tab.select(lambda submission_filter: create_submissions(submission_filter), [filter_dropdown], [submissions_dataframe])
filter_dropdown.change(lambda submission_filter: create_submissions(submission_filter), [filter_dropdown], [submissions_dataframe])
duplicate_submissions_plot = gr.Plot()
duplicate_submissions_plot.attach_load_event(lambda: create_duplicate_submissions_plot(), None)
with gr.Tab("Model Demo"):
create_demo()
app.launch()
if __name__ == "__main__":
main()