Skip to content
Snippets Groups Projects
Forked from Dellandrea Emmanuel / MSO_3_4-TD1
7 commits behind, 5 commits ahead of the upstream repository.
user avatar
cgerest authored
7fa09d8f
History

Rendu TD 1 : Hands-On Reinforcement Learning

MSO 3.4 Apprentissage Automatique

Corentin GEREST

Installation

Nécéssite Python version 3.9 ou ultérieure.

Afin de faire fonctionner les fichiers python suivants, vous devrez au préalable installer les bibliothèques suivantes à l'aide de pip:

    pip install torch torchvision torchaudio
    pip install gym==0.26.2
    pip install pyglet==2.0.10
    pip install pygame==2.5.2
    pip install PyQt5
    pip install stable-baselines3
    pip install moviepy
    pip install huggingface-sb3==2.3.1
    pip install wandb tensorboard
    pip install panda-gym==3.0.7

Liste des fichiers

Ce repo contient les fichiers suivants:

  • reinforce_cartpole.py
  • a2c_sb3_cartpole.py
  • push_model_HF.py
  • train_wb.py
  • a2c_sb3_panda_reach.py
  • rewards_cartpole.png

Utilisation

Pour exécuter chaque fichier, vous pouver utiliser un terminal. avec la commande

    python 'nom du fichier'

Dans le 1er fichier: reinforce_cartpole.py, on implémente la méthode REINFORCE sur l'environnement CartPole-v1 et on visualise l'évolution du reward au cours des itérations (cf rewards_cartpole.png).

Image

Dans le 2ème fichier: a2c_sb3_cartpole.py, on se familiarise avec le package Stable-Baselines3 qui fournit des outils intégrés, et on l'utilise pour résoudre l'environnement CartPole avec l'algo A2C (Advantage Actor-Critic). En plus d'avoir accès à l'évolution du reward au cours des itérations, ce script sauvegarde un modèle sous le nom [insérer nom final]. Afin d'upload ce modèle sur Hugging Face, j'ai utilisé le court script 'push_model_HF.py'. Le modèle entrainé est retrouvable ici: https://huggingface.co/CorentinGst/Cartpolev1/tree/main/a2c_cartpole_model.

Dans le 3ème fichier 'train_wb.py', je track l'entraînement sur l'environnement CartPole via Weights and Biases (W&B). Le résultat est visible ici: https://wandb.ai/corentin-ge/wandb_test_cartpole/runs/ybbl1bih?workspace=user-corentin-ge

Finalement, en mettant bout à bout ces différentes étapes, on peut constituer un flux de travail complet sur un nouvel environnement: PandaReachJointsDense.

HF:

W&B: https://wandb.ai/corentin-ge/a2c_sb3_panda_reach/runs/pqlrv40v?workspace=user-corentin-ge

Crédits/Citation

License