Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import requests.exceptions | |
| from huggingface_hub import HfApi, hf_hub_download | |
| from huggingface_hub.repocard import metadata_load | |
| def load_agent(model_id_1, model_id_2): | |
| """ | |
| This function load the agent's video and results | |
| :return: video_path | |
| """ | |
| # Load the metrics | |
| metadata_1 = get_metadata(model_id_1) | |
| # Get the accuracy | |
| results_1 = parse_metrics_accuracy(metadata_1) | |
| # Load the video | |
| video_path_1 = hf_hub_download(model_id_1, filename="replay.mp4") | |
| # Load the metrics | |
| metadata_2 = get_metadata(model_id_2) | |
| # Get the accuracy | |
| results_2 = parse_metrics_accuracy(metadata_2) | |
| # Load the video | |
| video_path_2 = hf_hub_download(model_id_2, filename="replay.mp4") | |
| return model_id_1, video_path_1, results_1, model_id_2, video_path_2, results_2 | |
| def parse_metrics_accuracy(meta): | |
| if "model-index" not in meta: | |
| return None | |
| result = meta["model-index"][0]["results"] | |
| metrics = result[0]["metrics"] | |
| accuracy = metrics[0]["value"] | |
| return accuracy | |
| def get_metadata(model_id): | |
| """ | |
| Get the metadata of the model repo | |
| :param model_id: | |
| :return: metadata | |
| """ | |
| try: | |
| readme_path = hf_hub_download(model_id, filename="README.md") | |
| metadata = metadata_load(readme_path) | |
| print(metadata) | |
| return metadata | |
| except requests.exceptions.HTTPError: | |
| return None | |
| gr.Interface(load_agent, | |
| [ | |
| gr.Textbox( | |
| label="Model 1", | |
| ), | |
| gr.Textbox( | |
| label="Model 2", | |
| ), | |
| ], | |
| [ "text", "video", gr.Textbox( | |
| label="Mean Reward +/- Std Reward", | |
| ), "text", "video", gr.Textbox( | |
| label="Mean Reward +/- Std Reward", | |
| )], | |
| examples=[ | |
| ["sb3/a2c-AntBulletEnv-v0","sb3/ppo-AntBulletEnv-v0"], | |
| ["ThomasSimonini/a2c-AntBulletEnv-v0", "sb3/a2c-AntBulletEnv-v0"], | |
| ["sb3/dqn-SpaceInvadersNoFrameskip-v4", "sb3/a2c-SpaceInvadersNoFrameskip-v4"], | |
| ["ThomasSimonini/ppo-QbertNoFrameskip-v4","sb3/ppo-QbertNoFrameskip-v4"], | |
| ], | |
| title="Compare Deep Reinforcement Learning agents", | |
| description="Type two models id you want to compare" | |
| ).launch() |