This is an old revision of the document!
Le simulateur Gym
Présentation de Gym
Gym c'est une boite à outil qui propose plusieurs environnements de simulation pour des algorithmes de renforcement et d'apprentissage.
Gym propose plusieurs types d'environnement qui sont les suivants :
- Algorithms
- Atari
- Box2D
- Classic control
- MuJoCo
- Robotics
- Toy text
Pour des raisons de compatibilités avec l'algorithme d'apprentissage que nous avions, notre intérêt c'est porté sur les environnements Box2D et MuJoCo.
Installation de Gym
Gym est simplement une librairie python qui offre des fonctionnalités. Ainsi, sont installations est simple :
pip install gym
Une seconde méthode existe en installant directement le package via git
git clone https:%%//%%github.com/openai/gym cd gym pip install -e .
Les fonctionnalités de Gym
Une fois que l'installation est fait, on peut commencer à s'amuser avec des fonctionnalités de base :
- gym.make(“environment name”) : retourne l'environnement dont le nom a été passé en paramètre
- env.reset() : reset l'environnement, retourne l'observation initiale
- env.render() : permet d'afficher la fenêtre de simulation.
- env.step() : exécute une action et retourne 4 paramètres (observation, reward, done, info)
La fonction env.step() prend en paramètre une action et retourne les 4 paramètres suivants :
- observation : un objet spécifique à l'environnement représentant une observation
- reward : un nombre de récompense obtenu par l'action précédente
- done : une valeur booléenne qui indique si il faut reset l'environnement ou non
- info : des informations de diagnostic utile pour le débuggage
Il est important de noter que ces informations dépendent de l'environnement dans lequel elles sont définies.
Les actions sont effectuées par un agent, et la suite des évènements peut être représenté à l'aide du schéma suivant :
Les environnements de Gym
Gym propose plusieurs type d'environnement et plusieurs environnements par type.
Au début, notre choix était porté vers l'environnement CarRacing-v0, avec la vue de dessus mais il c'est avéré que les observations retournés étaient au format image avec un tableau 96x96x3 de nombre correspondant à des couleurs
Une autre solution était l'installation de MuJoCo, mais cette dernière à posé des soucis et n'as pas pu être faite sur les machines de l'école.
Donc au final, l'environnement le plus adapté suivant toutes nos contraintes était l'environnement BipedalWalker-v2, malgré le fait que la vue soit de côté, les observations conviennent bien à l'algorithme d'apprentissage.
Notre développement
Pour le code, nous avons chacun développez un code qui fait l'interface entre l'algorithme d'apprentissage et le simulateur. Pour avoir une interface commune nous avons créez une classe abstraite dont nous héritons et implémentons les méthodes. De ce fait, nous