Installation et instructions de la version complète d'Ubuntu16.04 Gym

1. Préface d'installation

J'ai déjà écrit un blog pour enregistrer l'expérience précédente d'installation de MuJoCo sous le système Windows : Win 10, Win 11 installent MuJoCo et mujoco-py tutorial_lan 606's blog-CSDN blog_windows installation mujoco

Mais en fait, il y a encore beaucoup de problèmes dans certains développements professionnels sous le système Windows.De plus, je dois fréquemment utiliser le système Linux pour certains travaux ces derniers temps, donc je l'ai simplement réinstallé sous Ubuntu 16.04.

En ce qui concerne le nœud temporel en 2022 , je choisis toujours Ubuntu 16.04, un système qui est sur le point d'être officiellement abandonné et maintenu, principalement parce que certains des outils que j'utilise ont la meilleure compatibilité sur Ubuntu 16.04, mais la méthode décrite dans cet article est théoriquement applicable à tous Vous pouvez obtenir une bonne expérience d'installation sur n'importe quelle distribution Linux.

2. Description de l'environnement de développement du gymnase

Le nom complet de Gym est OpenAI Gym , qui est une boîte à outils développée par OpenAI. Les étudiants qui ont une base en apprentissage par renforcement ou qui apprennent l'apprentissage par renforcement doivent savoir que l'apprentissage par renforcement est un agent qui interagit continuellement avec l'environnement et obtient progressivement des récompenses de l'environnement pour guider l'intelligence Une méthode d'exploration du comportement dans le corps. L'objectif du développement de Gym est de rendre inutile la prise en compte du processus compliqué de construction d'environnement pendant tout le processus de développement d'algorithmes d'apprentissage par renforcement, et de se concentrer uniquement sur l'amélioration des performances de l'algorithme lui-même.

Pour des instructions spécifiques sur Gym, veuillez vous référer à la documentation officielle : Basic Usage - Gym Documentation (gymlibrary.dev)

Le lien GitHub officiel spécifique est le suivant : GitHub - openai/gym : Une boîte à outils pour développer et comparer des algorithmes d'apprentissage par renforcement.

L'environnement de gym a un total de cinq types d'environnements, à savoir Atari, MuJoCo, Toy Text, Classic Controlet Box2D, parmi lesquels Toy Textet Classic Controlsont les catégories d'environnement déjà incluses dans la version de base de gym, et les trois autres sont des environnements qui nécessitent une installation supplémentaire.

insérez la description de l'image ici

Figure 1. Environnement Atari

insérez la description de l'image ici

Figure 2. Environnement MuJoCo

insérez la description de l'image ici

Figure 3. Démonstration de l'environnement Toy Text

insérez la description de l'image ici

Figure 4. Environnement de contrôle classique

insérez la description de l'image ici

Figure 5. Environnement Box2D

Il existe un blog qui fournit un résumé complet de l'environnement OpenAI Gym. Pour plus de détails, voir : Reinforcement Learning Basics (10) OpenAI Gym Environment Summary - Short Book (jianshu.com)

3. Installation de la version complète de Gym

3.1 Anaconda crée un environnement virtuel

Anaconda est une distribution Python open source dont le plus grand avantage est qu'elle peut créer plusieurs environnements virtuels sans interférer les uns avec les autres. Cela vous permet de basculer entre plusieurs environnements et de l'appliquer à différents projets Python.

Le package d'installation spécifique d'Anaconda peut être téléchargé à partir du site miroir du logiciel open source de l'Université Tsinghua. L'URL du site miroir est : Index of /anaconda/archive/ | Site miroir du logiciel open source de l'Université Tsinghua | Tsinghua Open Source Mirror

Plus précisément, j'ai téléchargé la version Anaconda3-2020.07-Linux-x86_64.sh .

Dans Terminal, cdaccédez d'abord à l'adresse de téléchargement spécifique, puis entrez la ligne de commande suivante :

bash Anaconda3-2021.11-Linux-x86_64.sh

Pour des détails d'installation spécifiques, veuillez vous référer au lien suivant : Étapes détaillées pour installer Anaconda sur Ubuntu (Ubuntu21.10, Anaconda3)

Une fois l'installation terminée, il est recommandé de redémarrer le système, puis Ctrl + Alt + Td'ouvrir , l'interface suivante apparaît :

insérez la description de l'image ici

Figure 6. Ouvrez Terminal pour la première fois après avoir installé Anaconda

Étant donné que l'environnement de base est automatiquement ouvert à chaque fois, mais que l'utilisation réelle n'est pas fréquente, vous pouvez utiliser la commande suivante pour fermer l'environnement virtuel qui s'ouvre automatiquement à chaque fois :

conda config --set auto_activate_base false

Vous pouvez utiliser la commande suivante pour afficher l'environnement virtuel Anacoda qui a été créé sur cette machine :

conda info -e

insérez la description de l'image ici

Figure 7. Utilisez la commande pour afficher l'environnement qu'Anaconda a créé

py37L'environnement virtuel dans la figure ci-dessus est l'environnement virtuel utilisé pour installer la version complète de Gym cette fois.

S'il n'y a qu'un seul baseenvironnement , vous pouvez utiliser la commande suivante pour créer votre propre environnement virtuel :

conda create -n py37 python==3.7.0

Après avoir créé l'environnement virtuel, vous devez utiliser la commande suivante pour l'activer, ce qui ajoutera un nom d'environnement au début de la ligne de commande :

conda activate py37

Si vous souhaitez désactiver l'environnement virtuel actuel, vous devez exécuter la commande suivante dans Terminla :

conda deactivate

Vous pouvez également remarquer que le nom de l'environnement au début de la ligne de commande a disparu.

insérez la description de l'image ici

Figure 8. Activation et désactivation de l'environnement Anaconda

Après être entré dans l'environnement virtuel, comme dans l'environnement Python normal, vous pouvez utiliser pipla commande pour installer la bibliothèque.

  • Remarque 1 : Les étapes ci-dessus de création de l'environnement virtuel Anaconda sont exactement les mêmes que la création de l'environnement virtuel sous le système Windows.
  • Remarque 2 : GitHub officiel d'OpenAI Gym prend en charge Python 3.7-3.10 sur les systèmes Linux et macOS, il n'est donc pas recommandé d'utiliser d'autres versions de Python.
  • Remarque 3 : Lors de mon utilisation précédente, time.clock()la méthode , ce qui entraînera env.render()l'échec de la méthode, il est donc recommandé d'installer Python 3.7.

3.2 Installer la salle de sport[box2d]

Si vous exécutez pip install gymla commande , elle installera directement la dernière version simplifiée de Gym pour vous. Cette version de Gym ne contient aucun environnement étendu, vous ne pouvez donc pas utiliser Atari, MuJoCoet dans cette version de Gym Box2D, vous pouvez n'utilisez que les éléments de base Toy Textet Classic Control.

'LunarLander-v2'L' environnement classique présenté sur la page d'accueil de la documentation officielle Gym est requis Box2D.

3.2.1 Rapports d'erreurs et solutions pour l'installation à l'aide du didacticiel officiel GitHub

La première consiste à installer la version allégée de Gym :

pip install gym

Ensuite, la solution donnée dans le document officiel est d'utiliser la commande suivante pour installer :

pip install gym[box2d]

On mesure que l'environnement de rendu installé par cette commande Box2Dne peut pas appeler Gym normalement, et le message d'erreur suivant apparaîtra :

AttributeError : le module 'gym.envs.box2d' n'a pas d'attribut 'LunarLander'

Les tutoriels fournis sur Internet demandent essentiellement d'installer d'abord swigle module , puis d'installer box2dle module, mais j'ai créé un environnement virtuel plusieurs fois et terminé l'installation de cette manière, et je ne peux toujours pas démarrer LunarLander-v2l'environnement (un seul d'entre eux peut démarrer l'environnement normalement, donc voir Face).

Un blog de référence spécifique est le suivant (tutoriel de traitement côté Windows) : AttributeError : le module 'gym.envs.box2d' n'a pas d'attribut 'LunarLander'_Faith_xzc's Blog-CSDN Blog

3.2.2 Installer avec Anaconda

Principalement inspiré d'un de ces post : Comment installer gym (box2d) malgré l'erreur suivante ? - J'adore apprendre le réseau (5axxw.com) , installez-le via la commande conda.

Une chose à noter est qu'il n'est pas nécessaire d'exécuter la commande d'installation pip de la version simplifiée de gym avant d'utiliser la commande suivante. L'exécution directe de la commande suivante correspondra à la meilleure version de gym 0.21.0 :

conda install -c conda-forge gym-box2d

Après avoir exécuté les instructions ci-dessus py37, la version de base gymet l'environnement de gym de type Box2D seront installés dans l'environnement virtuel de gym[box2d].

3.2.3 Tester si l'environnement LunarLander-v2 peut être exécuté avec succès

Comme mentionné ci-dessus, LunarLander-v2 est un environnement très important dans la classe Gym Box2D, grâce auquel nous pouvons détecter s'il y a un problème avec l'environnement que nous avons installé à l'étape 3.2.2.

Commencez par créer un nouveau script Python et saisissez le code suivant :

import gym
import time


env = gym.make("LunarLander-v2")
env.reset()
done = False
while not done:
    env.render()
    action = env.action_space.sample()
    observation, reward, done, info = env.step(action)
    time.sleep(0.04)
    # print(observation)
env.close()

Si l'article précédent est correctement installé, vous devriez voir l'animation suivante :

insérez la description de l'image ici

Figure 9. Diagramme des effets du fonctionnement de l'environnement LunarLander-v2

Au fait, voici le code pour enregistrer l'image de la salle de sport en tant que gif :

from matplotlib import animation
import matplotlib.pyplot as plt
import gym


def save_frames_as_gif(frames, path='./', filename='gym_animation.gif'):
    # Mess with this to change frame size
    plt.figure(figsize=(frames[0].shape[1] / 72.0, frames[0].shape[0] / 72.0), dpi=72)

    patch = plt.imshow(frames[0])
    plt.axis('off')

    def animate(i):
        patch.set_data(frames[i])

    anim = animation.FuncAnimation(plt.gcf(), animate, frames=len(frames), interval=50)
    anim.save(path + filename, writer='imagemagick', fps=60)


# Make gym env
env = gym.make('LunarLander-v2')

# Run the env
observation = env.reset()
my_frames = []
done = False
while not done:
    my_frames.append(env.render(mode="rgb_array"))
    action = env.action_space.sample()
    observation, reward, done, info = env.step(action)
env.close()
save_frames_as_gif(my_frames, path='./', filename='LunarLander-v2.gif')

3.3 Installer une salle de sport[atrai]

3.3.1 Installer avec pip

Après mon test réel, je peux l'installer directement avec pip dans l'environnement virtuel. La commande pip pour l'installation est la suivante :

pip install gym[atari]
pip install autorom[accept-rom-license]

3.3.2 Tester si l'environnement Atari peut être exécuté avec succès

Parce que l'environnement d'Atari est vraiment riche, il y a 62 environnements qui peuvent être vérifiés au total.Pour plus de détails, veuillez vous référer à la documentation officielle de Gym : Complete List - Atari - Gym Documentation (gymlibrary.dev)

Ici, j'utilise le très classique jeu Breakout comme démonstration pour tester si gym[atari] a été installé avec succès. Le code de test est le suivant :

import gym


env = gym.make("ALE/Breakout-v5", render_mode="human")
env.reset()
done = False
while not done:
    action = env.action_space.sample()
    observation, reward, done, info = env.step(action)
env.close()

Il convient de noter que le rendu de l'environnement Atari doit indiquer le mode de rendu lors de la création de l'environnement, sinon le rendu échouera.

Si l'installation a réussi, vous devriez voir l'interface suivante :

insérez la description de l'image ici

Figure 10. Diagramme des effets d'exécution de l'environnement Breakout-v5

3.4 Installer une salle de sport[mujoco]

Le guide officiel de GitHub indique clairement qu'à partir de la version "_v4", l'environnement MuJoCo n'est plus dépendant mujoco-py, mais plutôt dépendant mujoco. Il est recommandé d'utiliser pip install gym[mujoco]pour installer la nouvelle version de l'environnement MuJoCo et d'utiliser pip install gym[mujoco_py]pour installer l'ancienne version de l'environnement MuJoCo.

Parce que j'ai une expérience antérieure dans l'installation de l'environnement MuJoCo sur le système Windows, je n'ai pas directement utilisé la méthode d'installation pip recommandée par l'officiel pour l'installer, mais j'ai intégré les méthodes dans d'autres blogs sur Internet.

Lien du blog de référence :

Installation de Mujoco210 et Mujoco-py - Zhihu (zhihu.com)

Installer mujoco sur Ubuntu 20.04

Et parce que la version de gym installée ci-dessus est 0.21.0, afin d'assurer l'applicabilité de l'environnement, j'ai choisi d'installer mujoco 2.1.0, et en conséquence, j'ai besoin d'installer l'ancienne version Le processus d'installation spécifique est le suivant mujoco-py.

3.4.1 Téléchargez mujoco 2.1.0 depuis GitHub officiel et installez-le

Allez d'abord sur le lien GitHub officiel de DeepMind/MuJoCo : Release 2.1.0 deepmind/mujoco (github.com)

Puisqu'il est installé sous le système Ubuntu, sélectionnez-le et téléchargez-le mujoco210-linux-x86_64.tar.gz.

Placez ensuite le package compressé téléchargé dans le dossier Home, puis saisissez la commande suivante :

mkdir ~/.mujoco
tar -zxvf mujoco210-linux-x86_64.tar.gz -C ~/.mujoco

Ensuite, vous devez ajouter des variables d'environnement, entrez d'abord la commande suivante pour ouvrir le texte des variables d'environnement :

gedit ~/.bashrc

Entrez ce qui suit sur la dernière ligne du document :

export LD_LIBRARY_PATH=~/.mujoco/mujoco210/bin

Enregistrez et quittez l'éditeur de texte, puis mettez à jour la variable d'environnement :

source ~/.bashrc

Une fois l'installation terminée, vous devez tester si l'installation a réussi. Saisissez la commande suivante pour tester :

cd ~/.mujoco/mujoco210/bin
./simulate ../model/humanoid.xml

Si l'interface suivante apparaît, cela prouve que mujoco 2.1.0 est installé avec succès :

insérez la description de l'image ici

Figure 11. Test après installation de mujoco 2.1.0

3.4.2 Téléchargement officiel de GitHub mujoco-py et installation

Allez d'abord sur le lien GitHub officiel d'OpenAI/mujoco-py : openai/mujoco-py : MuJoCo est un moteur physique pour des simulations de corps rigides détaillées et efficaces avec des contacts. mujoco-py permet d'utiliser MuJoCo à partir de Python 3. (github.com)

Téléchargez-le et extrayez-le dans ~/mujoco-pyle dossier , puis activez l' condaenvironnement créé précédemment et installez :

conda activate py37
cd ~/mujoco-py
pip3 install -U 'mujoco-py<2.2,>=2.1'
pip install -r requirements.txt
pip install -r requirements.dev.txt
python3 setup.py install

Ensuite, vous devez ajouter des variables d'environnement, entrez d'abord la commande suivante pour ouvrir le texte des variables d'environnement :

gedit ~/.bashrc

Entrez ce qui suit sur la dernière ligne du document :

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia 

Enregistrez et quittez l'éditeur de texte, puis mettez à jour la variable d'environnement :

source ~/.bashrc

Une fois l'installation terminée, vous devez tester si l'installation a réussi. Créez un script Python et utilisez l'environnement que vous venez de créer, saisissez le code suivant pour l'exécuter :

import mujoco_py
import os
mj_path = mujoco_py.utils.discover_mujoco()
xml_path = os.path.join(mj_path, 'model', 'humanoid.xml')
model = mujoco_py.load_model_from_path(xml_path)
sim = mujoco_py.MjSim(model)

print(sim.data.qpos)
# [0. 0. 1.41. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

sim.step()
print(sim.data.qpos)
#[-1.12164337e-05  7.29847036e-22  1.39975300e+00  9.99999999e-01
#  1.80085466e-21  4.45933954e-05 -2.70143345e-20  1.30126513e-19
# -4.63561234e-05 -1.88020744e-20 -2.24492958e-06  4.79357124e-05
# -6.38208396e-04 -1.61130312e-03 -1.37554006e-03  5.54173825e-05
# -2.24492958e-06  4.79357124e-05 -6.38208396e-04 -1.61130312e-03
# -1.37554006e-03 -5.54173825e-05 -5.73572648e-05  7.63833991e-05
# -2.12765194e-05  5.73572648e-05 -7.63833991e-05 -2.12765194e-05]

Il convient de noter que si le script que vous venez de créer est exécuté dans Pycharm, des paramètres supplémentaires sont requis. Et chaque nouveau script Python dans Pycharm doit être défini comme suit :

Cliquez sur Exécuter->Modifier les configurations->Variables d'environnement dans la barre de menus Pycharm, et le nom de la variable d'environnement ajoutée est LD_LIBRARY_PATH, et la valeur est $LD_LIBRARY_PATH:/home/XXX/.mujoco/mujoco210/bin:/usr/lib/nvidia.

  • Remarque : XXX dans Value est votre nom d'utilisateur.

insérez la description de l'image ici

Figure 12. Configuration des variables d'environnement Pycharm

L'exécution du script ci-dessus dans Pycharm signalera l'erreur suivante :

erreur fatale : GL/osmesa.h : aucun fichier ou répertoire de ce type

D'après d'autres blogs, il manque principalement ici un package clé, qui peut être installé avec la commande suivante :

sudo apt install libosmesa6-dev

Lors de la réexécution du fichier de script, une nouvelle erreur a été signalée :

FileNotFoundError : [Errno 2] Aucun fichier ou répertoire de ce type : 'patchelf' : 'patchelf'

Voici un autre package critique manquant, installé avec la commande suivante :

sudo apt-get update -y
sudo apt-get install -y patchelf

À ce stade, mon script peut s'exécuter normalement. Les solutions mentionnées ci-dessus sont tout ce que j'ai vu dans ce blog : Certains problèmes et solutions rencontrés lors de l'installation de mujoco_py, tels que la commande 'gcc' a échoué avec le statut de sortie 1_Chen Sanzhang's Blog-CSDN Blog

S'il y a d'autres erreurs, vous pouvez essayer de les résoudre dans ce blog.

3.4.3 Tester si l'environnement MuJoCo peut être exécuté avec succès

Exécutez le code suivant pour tester :

import gym


env = gym.make("Ant-v2")
env.reset()
done = False
for _ in range(1000):
    env.render()
    action = env.action_space.sample()
    observation, reward, done, info = env.step(action)
env.close()

Si l'installation précédente a réussi, l'interface suivante devrait apparaître :

insérez la description de l'image ici

Figure 13. Diagramme des effets d'exécution de l'environnement Ant-v2

À ce stade, la version complète de l'environnement Gym est installée.

Je suppose que tu aimes

Origine blog.csdn.net/alan1ly/article/details/128087474
conseillé
Classement