ThomasSimonini's picture
Update app.py
457d9a8
import gradio as gr
from huggingface_hub import HfApi
from matchmaking import *
from background_task import init_matchmaking, get_elo_data
from apscheduler.schedulers.background import BackgroundScheduler
from utils import *
matchmaking = Matchmaking()
api = HfApi()
# launch
scheduler = BackgroundScheduler()
scheduler.add_job(func=init_matchmaking, trigger="interval", seconds=300)
scheduler.start()
def update_elos():
matchmaking.read_history()
matchmaking.compute_elo()
matchmaking.save_elo_data()
with gr.Blocks() as block:
gr.Markdown(f"""
# ๐Ÿ† AI vs. AI SoccerTwos Leaderboard โšฝ
In this leaderboard, you can find the ELO score and the rank of your trained model for the SoccerTwos environment.
If you want to know more about a model, just **copy the username and model and paste them into the search bar**.
๐Ÿ‘€ To visualize your agents competing check this demo: https://huggingface.co/spaces/unity/ML-Agents-SoccerTwos
๐Ÿค– For more information about this AI vs. AI challenge and to participate? [Check this](https://huggingface.co/deep-rl-course/unit7)
""")
with gr.Row():
output = gr.components.Dataframe(
value=get_elo_data,
headers=["Ranking ๐Ÿ†", "User ๐Ÿค—", "Model id ๐Ÿค–", "ELO ๐Ÿš€", "Games played ๐ŸŽฎ"],
datatype=["number", "markdown", "markdown", "number", "number"]
)
with gr.Row():
refresh = gr.Button("Refresh")
refresh.click(get_elo_data, inputs=[], outputs=output)
block.launch()