OpenAI Gymのサンプルコードを調べたくてWSLで環境構築した際のメモです。
OpenAI GymはWindowsには対応していないため、Windowsで動かすにはWSL上のLinuxで動かす必要があります。
また、PythonコードをGUIでデバッグしたい場合、Visual Studio Codeでデバッグできると便利です。
その際、Windows上のVisual Studio CodeからWSLのPythonのデバッグはできないため、WSLにVisual Studio Codeをインストールする必要があります。
WSL上でもX Window ServerをインストールすることでVisual Studio CodeをGUIで実行できます。
以下、環境構築からサンプル実行までの手順です。
X Window Server
はじめXmingを試したが動作しなかったため、VcXsrvをインストールした。
https://sourceforge.net/projects/vcxsrv/
.bashrcの設定
Windows上のX Serverに接続できるように.bashrcに設定を追加する。
echo 'export DISPLAY=:0.0' >> .bashrc
sourceするかbashを再起動する。
VcXsrvの起動時オプション
VcXsrvを起動する際に、Native openglを有効にするとフルスクリーンでウィンドウ固定でしか起動しなかったため、オプションをオフにした。
Visual Studio Codeのインストール
公式ページの手順通りインストールする。
https://code.visualstudio.com/docs/setup/linux
Debian and Ubuntu based distributions
起動
VcXsrvを起動した状態で、
code
で起動する。
起動時に、以下のエラーが出力される場合、
/usr/share/code/bin/../code: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory
以下のパッケージをインストールする。
sudo apt-get install gconf-service libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxss1 libxtst6 libappindicator1 libnss3 libasound2 libatk1.0-0 libc6 ca-certificates fonts-liberation lsb-release xdg-utils wget
参考:
How to fix puppetteer error ibX11-xcb.so.1 on Ubuntu | by Aran Cloverink Chananar | Medium
起動後、ExtentionsからPython拡張をインストールする。
Pythonインストール
Ubuntu 18.04ではPython3がデフォルトでインストールされている。
OpenAI Gymのサンプルを実行するため、追加でパッケージをインストールする。
sudo apt install python3-pip pip3 install matplotlib sudo apt-get install python-opengl sudo apt-get install python3-tk
OpenAI Gymのインストール
pipからOpenAI Gymをインストールする。
pip3 install gym
Pytorchのインストール
PytorchのDQNのサンプルを動かしたかったので、Pytorchをインストールする。
インストール方法は公式の手順の通り。
WSLではCUDAは動作しないため、CUDAは選択しない。
pip3 install https://download.pytorch.org/whl/cpu/torch-1.1.0-cp36-cp36m-linux_x86_64.whl pip3 install https://download.pytorch.org/whl/cpu/torchvision-0.3.0-cp36-cp36m-linux_x86_64.whl
サンプル実行
↓このサンプルを実行してデバッグする。
REINFORCEMENT LEARNING (DQN) TUTORIAL
Reinforcement Learning (DQN) Tutorial — PyTorch Tutorials 1.10.1+cu102 documentation
Visual Studio Codeで新規の.pyファイルを作成して、サンプルコードをコピーペーストする。
F5を押してデバッグ実行する。
問題なく実行できた。
あとは調べたい箇所にブレークポイントを設定して、変数の値などを調べればよい。