Spaces:
Runtime error
Runtime error
File size: 2,580 Bytes
71ea432 b62b9e0 71ea432 e155868 513af34 e155868 71ea432 b62b9e0 eb1e3b7 b62b9e0 eb1e3b7 fdae335 eb1e3b7 6ac0a0d b62b9e0 6ac0a0d e50ab51 7a5e1aa e155868 7a5e1aa fb91004 e50ab51 6ac0a0d 71ea432 24be325 9a866e7 24be325 9a866e7 24be325 9a866e7 24be325 9a866e7 24be325 9a866e7 24be325 9a866e7 24be325 9a866e7 24be325 9a866e7 24be325 |
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 |
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()
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()
|