自動運転RCカー Donkey Car を自作して1ヶ月弱、
Slackを参照する余裕がやっと出てきた今日このごろ
既存モデルはCNN4層の単純なモデル(KerasCategoricalクラス)で
実装されている。
でもせっかく実機があることだし、
強化学習モデルで動かしてみたいなあ..とSlackをさぐると、
donkey_gym
https://github.com/tawnkramer/donkey_gym
というpython パッケージを発見した。
少し覗いてみるとexamplesにすでに
強化学習モデルで実装したコードが有り
しかも OpenAI gym経由でDonkey Simulatorをうごかすらしい..
ということでインストールしようとしたのだが、
サンプルコードが使っている stable-baselines という
Pythonパッケージが(厳密にはatari-pyが)
Windowsではサポートされていないらしい..
Dockerでやるかなとおもったが、
Windows10上でUbuntuが動くアプリがMSのマーケットプレイスで
しかもタダで入手できるわけで、
これを使って構築してみた。
以下、手順である。
なお、PROXY環境下での実行なので、使ってない人は適宜無視しつつすすめてください。
-------
..うーん Learning to Drive in a Dayって論文あったけど、
本当に in a Dayなのかな..
..なかなか最初の鋭角コーナを覚えてくれないなあ..
p.s.
Ubuntu 18.04 LTS on Windows10は最初っからCドライブを
/mnt/c にマウントしているので、ファイルをホスト側とやり取りする場合は
このマウントポイントを活用すれば良い。
p.s.その2
またまた、人気のでなさそうな記事を書いてしまった..
Slackを参照する余裕がやっと出てきた今日このごろ
既存モデルはCNN4層の単純なモデル(KerasCategoricalクラス)で
実装されている。
でもせっかく実機があることだし、
強化学習モデルで動かしてみたいなあ..とSlackをさぐると、
donkey_gym
https://github.com/tawnkramer/donkey_gym
というpython パッケージを発見した。
少し覗いてみるとexamplesにすでに
強化学習モデルで実装したコードが有り
しかも OpenAI gym経由でDonkey Simulatorをうごかすらしい..
ということでインストールしようとしたのだが、
サンプルコードが使っている stable-baselines という
Pythonパッケージが(厳密にはatari-pyが)
Windowsではサポートされていないらしい..
Dockerでやるかなとおもったが、
Windows10上でUbuntuが動くアプリがMSのマーケットプレイスで
しかもタダで入手できるわけで、
これを使って構築してみた。
以下、手順である。
なお、PROXY環境下での実行なので、使ってない人は適宜無視しつつすすめてください。
-------
- Windows10を起動
- ブラウザから https://github.com/tawnkramer/donkey_gym/releases/download/v18.9/DonkeySimWindows.zip (もしくは最新版)をダウンロード
- 展開し、適当なディレクトリを置き、DonkeySimを起動
- 起動したら、Play!ボタンを押し、4つのシーンを選択できる画面を開く
- 画面は放置し、別途スタートボタンからMicrosoft Store を起動
- 「Ubuntu」で検索
- 「Ubuntu 18.04 LTS」をインストール&PC再起動
- Ubuntu 18.04 を起動
- ユーザ、パスワード登録
- sudo vi /etc/apt/apt.conf を編集してPROXYを有効化
- vi ~/.bashrc を編集してhttp_proxy/HTTP_PROXY/https_proxy/HTTPS_PROXYを設定
- source ~/.bashrc
- git config --global http.proxy http://
:<ポート>/ - git config --global http.proxy http://
:<ポート>/
- sudo apt update && sudo apt upgrade -y
- sudo apt-get install virtualenv build-essential python3-dev gfortran libhdf5-dev zip
- virtualenv env -p python3
- source env/bin/activate
- pip install tensorflow==1.8.0
- git clone -b master https://github.com/wroscoe/donkey donkeycar
- cd donkeycar
- pip install -e .
- cd ..
- pip install gym==0.10.5
- sudo apt-get update && sudo apt-get install cmake libopenmpi-dev python3-dev zlib1g-dev
- pip install stable-baselines
- wget https://github.com/tawnkramer/donkey_gym/releases/download/v18.9/DonkeySimLinux.zip
- unzip DonkeySimLinux.zip
- git clone https://github.com/tawnkramer/donkey_gym
- cd donkey_gym
- pip install -e .
PPOアルゴリズムのサンプルを実行する場合
- python donkey_gym/examples/reinforcement_learning/ppo_train.py --sim ~/DonkeySimLinux/donkey_sim.x86_64
上記コマンドするとなぜかWindowsダイレクトに起動しておいたシミュレータへせつぞくにいく。
このときネットワーク接続許可ダイアログが出るので許可する必要がある。
その後、リトライを繰り返すDonkeySimulatorが動き出したら成功。
Double DQNのサンプルを実行する場合
- apt install -y libsm6 libxext6
- vi donkey_gym\example\reinforcement_learning\ddqn.py を以下のように編集
:from tensorflow.python.keras.layers import Dense
from tensorflow.python.keras.optimizers import Adam
from tensorflow.python.keras.models import Sequential
#from tensorflow.keras.initializers import normal, identity
from tensorflow.python.keras.models import model_from_json
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense, Dropout, Activation, Flatten
from tensorflow.python.keras.layers import Conv2D, MaxPooling2D
import tensorflow as tffrom tensorflow.python.keras import backend as K
:
- python donkey_gym/examples/reinforcement_learning/ddqn.py --sim ~/DonkeySimLinux/donkey_sim.x86_64
DDQNと同様で、Windows直下で実行中のシミュレータがあがり、トレーニングが開始される。---------
..うーん Learning to Drive in a Dayって論文あったけど、
本当に in a Dayなのかな..
..なかなか最初の鋭角コーナを覚えてくれないなあ..
p.s.
Ubuntu 18.04 LTS on Windows10は最初っからCドライブを
/mnt/c にマウントしているので、ファイルをホスト側とやり取りする場合は
このマウントポイントを活用すれば良い。
p.s.その2
またまた、人気のでなさそうな記事を書いてしまった..