Spaces:
Runtime error
Runtime error
import json | |
import requests | |
from datasets import load_dataset | |
import gradio as gr | |
from huggingface_hub import HfApi, hf_hub_download, Repository | |
from huggingface_hub.repocard import metadata_load | |
import pandas as pd | |
from matchmaking import * | |
from background_task import init_matchmaking, run_background_loop | |
from apscheduler.schedulers.background import BackgroundScheduler | |
import asyncio | |
DATASET_REPO_URL = "https://huggingface.co/datasets/CarlCochet/BotFightData" | |
ELO_FILENAME = "soccer_elo.csv" | |
HF_TOKEN = os.environ.get("HF_TOKEN") | |
repo = Repository( | |
local_dir="soccer_elo", clone_from=DATASET_REPO_URL, use_auth_token=HF_TOKEN | |
) | |
matchmaking = Matchmaking() | |
api = HfApi() | |
# launch | |
scheduler = BackgroundScheduler() | |
scheduler.add_job(func=init_matchmaking, trigger="interval", seconds=15000) | |
scheduler.start() | |
# loop = asyncio.get_event_loop() | |
# loop.create_task(run_background_loop()) | |
# loop.run_forever() | |
def get_elo_data() -> pd.DataFrame: | |
repo.git_pull() | |
data = pd.read_csv(os.path.join(DATASET_REPO_URL, "resolve", "main", ELO_FILENAME)) | |
return data | |
def update_elos(): | |
matchmaking.read_history() | |
matchmaking.compute_elo() | |
matchmaking.save_elo_data() | |
with gr.Blocks() as block: | |
gr.Markdown(f""" | |
# ๐ The Deep Reinforcement Learning Course Leaderboard ๐ | |
This is the leaderboard of trained agents during the Deep Reinforcement Learning Course. A free course from beginner to expert. | |
This is the Soccer environment leaderboard, use Ctrl+F to find your rank ๐ | |
We use an ELO rating to sort the models. | |
You **can click on the model's name** to be redirected to its model card which includes documentation. | |
๐ค You want to try to train your agents? <a href="http://eepurl.com/ic5ZUD" target="_blank">Sign up to the Hugging Face free Deep Reinforcement Learning Course ๐ค </a>. | |
You want to compare two agents? <a href="https://huggingface.co/spaces/ThomasSimonini/Compare-Reinforcement-Learning-Agents" target="_blank">It's possible using this Spaces demo ๐ </a>. | |
๐ง There is an **environment missing?** Please open an issue. | |
""") | |
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() | |