Daily Archives: June 18, 2020

DonkeySIM6:自動走行

Published by:

6. 自動走行★

ここからはローカル環境に接続します。
いよいよ自動走行を行います。まずは、忘れずにcolab環境からローカル環境へ切り替えを行いましょう。
DonkeySIMを立ち上げ後、次のセルを実行してpython manage.py driveを実行します。–model引数には先ほどcolab環境からコピーしてきたmypilot.h5を指定します。これで、DonkeyCarソフトウェアが自動走行する準備ができました。
以下のURLにアクセスして、WEBコントローラ表示してください。
コントローラ画面で「Mode & Pilot」を「local pilot」に変更して、「Start Vhecle」を押すと自動走行が始まります。
さあ!初めての自動走行を楽しみましょう。

DonkeySIM5:学習

Published by:

5. 学習

いよいよDonkeyCarのAIを学習させます。学習はcolab環境で行います。

手順1. 学習データの圧縮★

 

手順2. colab環境への接続★

ここからはcolabインスタンスに接続します。
colab環境に接続します。接続が完了した後に、画面左側上から3つ目のフォルダアイコンを選択し、アップロードボタンを押下します。ローカル環境から圧縮したdata.zipを選択して、colabへ圧縮した教師データアップロードします。

手順3. colab環境の構築★

AIの学習を実行するため、colab環境にDonkeyCarの環境を構築します。次のセルを実行して、環境構築とワークスペースの作成を行います。

手順4. 学習データの展開★

環境構築完了後、次のセルを実行して学習データをDonkeyCarのワークスペース、mycarに展開します。data.zipを解凍して得られる、dataフォルダがmycar内のdataフォルダを上書きするように解凍します。

手順5. colabでの学習の実行★

次のコマンドを実行して、DonkeyCarの学習を実行します。

手順6. AIモデルファイルの配置★

ダウンロードしたmypilot.5hをローカル環境のワークスペース配下のディレクトリworkspace¥mycar¥modelsに移動させてください。

DonkeySIM4学習データの収集

Published by:

4. 学習データの収集

ここではシミュレータ上のDonkeyCarを操作してAIに学習させるためのデータを集めます。

手順1. DonkeySIMのダウンロード

以下のURLからローカル環境のプラットフォームにあったDonkeySIMをダウンロードして、zipファイルを解凍します。バージョンは「May Race Edition v20.5.16」を選択しましょう。

手順2. DonkeySIMの実行★

ダウンロードしたDonkeySIMを開き、実行ファイルを実行します。

手順3. DonkeyCarソフトウェアの起動★

別ページを参照

手順4. コントロール画面への接続★

「手順3」を実行後、しばらくしたら以下のURLにWEBブラウザでアクセスしてください。コントロール画面が表示されます。

手順5. シミュレータの操作★

2つの操作方法のいずれかに従って、シミュレータを操作し、学習データを収集します。初心者の場合は「操作方法1 スロットル固定走行」で操作を行いましょう。走行によって取得されるデータ数は手順3のセルの出力に表示されます。1万データを目安に収集を行ってください。

 

事故データの消去

https://www.donkeycar.com/updates/how-to-clean-data

でWebサーバが立ち上がり、いらないデータ消したりできたと思います。

 

 

DonkeySIM3:設定ファイルの修正

Published by:

3. 設定ファイルの修正

DonekyCarワークスペースにせ作成される「myconfig.py」ファイルを編集することで、DonkeyCarの設定を変更することができます。「STEP2.DonkeyCar」で作成したワークスペース内のmyconfig.pyにシミュレータ用の設定を実施します。
「mycar/myconfig.py」をテキストエディタで開き、以下のように設定値のコメントアウトを解除して値を変更してください。
元のファイルのバックアップをとって、修正後差分をみる。
chen@hongs-mbp mycar % cp -p myconfig.py myconfig_000.py
chen@hongs-mbp mycar % diff myconfig.py myconfig_000.py
243,247c243,247
< DONKEY_GYM = True
< DONKEY_SIM_PATH = “remote” #”/home/tkramer/projects/sdsandbox/sdsim/build/DonkeySimLinux/donkey_sim.x86_64″ when racing on virtual-race-league use “remote”, or user “remote” when you want to start the sim manually first.
< DONKEY_GYM_ENV_NAME = “donkey-mountain-track-v0” # (“donkey-generated-track-v0″|”donkey-generated-roads-v0″|”donkey-warehouse-v0″|”donkey-avc-sparkfun-v0”)
< GYM_CONF = { “body_style” : “donkey”, “body_rgb” : (128, 128, 128), “car_name” : “me”, “font_size” : 100} # body style(donkey|bare|car01) body rgb 0-255
< SIM_HOST = “127.0.0.1” # when racing on virtual-race-league use host “trainmydonkey.com”
> # DONKEY_GYM = False
> # DONKEY_SIM_PATH = “path to sim” #”/home/tkramer/projects/sdsandbox/sdsim/build/DonkeySimLinux/donkey_sim.x86_64″ when racing on virtual-race-league use “remote”, or user “remote” when you want to start the sim manually first.
> # DONKEY_GYM_ENV_NAME = “donkey-mountain-track-v0” # (“donkey-generated-track-v0″|”donkey-generated-roads-v0″|”donkey-warehouse-v0″|”donkey-avc-sparkfun-v0”)
> # GYM_CONF = { “body_style” : “donkey”, “body_rgb” : (128, 128, 128), “car_name” : “me”, “font_size” : 100} # body style(donkey|bare|car01) body rgb 0-255
> # SIM_HOST = “127.0.0.1” # when racing on virtual-race-league use host “trainmydonkey.com”

DonkeySIM2:DonkeyCarワークスペースの作成

Published by:

2. DonkeyCarワークスペースの作成

DonekyCarではワークスペースという単位で作業を進めていきます。ワークスペースはDonkeyCarの設定やAIモデル、学習データを管理する単位です。ワークスペースを複数利用することで複数の設定を同時に残すことができます。走行させるコースごとにワークスペースを作ると良いでしょう。
using donkey v3.1.2 …
Creating car folder: mycar
making dir mycar
Creating data & model folders.
making dir mycar/models
making dir mycar/data
making dir mycar/logs
Copying car application template: complete
Copying car config defaults. Adjust these before starting your car.
Copying train script. Adjust these before starting your car.
Copying my car config overrides
Donkey setup complete.

DonkeySIM1:DonkeyCarソフトのインストール

Published by:

ローカルに、DonkeyCarソフトウェアのインストール

セルの実行方法はマウスでセルを選択後、表示される「三角ボタン」を押下する.

 

Collecting tensorflow==1.15.0
Downloading tensorflow-1.15.0-cp37-cp37m-macosx_10_11_x86_64.whl (124.0 MB)
|████████████████████████████████| 124.0 MB 46 kB/s
Collecting absl-py>=0.7.0
Downloading absl-py-0.9.0.tar.gz (104 kB)
|████████████████████████████████| 104 kB 14.7 MB/s
Collecting tensorboard<1.16.0,>=1.15.0
Downloading tensorboard-1.15.0-py3-none-any.whl (3.8 MB)
|████████████████████████████████| 3.8 MB 11.2 MB/s
Collecting numpy<2.0,>=1.16.0
Downloading numpy-1.18.5-cp37-cp37m-macosx_10_9_x86_64.whl (15.1 MB)
|████████████████████████████████| 15.1 MB 14.2 MB/s
Collecting google-pasta>=0.1.6
Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB)
|████████████████████████████████| 57 kB 17.8 MB/s
Collecting gast==0.2.2
Downloading gast-0.2.2.tar.gz (10 kB)
Collecting protobuf>=3.6.1
Downloading protobuf-3.12.2-cp37-cp37m-macosx_10_9_x86_64.whl (1.3 MB)
|████████████████████████████████| 1.3 MB 36.9 MB/s
Requirement already satisfied: wheel>=0.26 in ./vdonkey/lib/python3.7/site-packages (from tensorflow==1.15.0) (0.34.2)
Collecting termcolor>=1.1.0
Downloading termcolor-1.1.0.tar.gz (3.9 kB)
Requirement already satisfied: six>=1.10.0 in ./vdonkey/lib/python3.7/site-packages (from tensorflow==1.15.0) (1.15.0)
Collecting wrapt>=1.11.1
Downloading wrapt-1.12.1.tar.gz (27 kB)
Collecting keras-applications>=1.0.8
Downloading Keras_Applications-1.0.8-py3-none-any.whl (50 kB)
|████████████████████████████████| 50 kB 14.7 MB/s
Collecting keras-preprocessing>=1.0.5
Downloading Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB)
|████████████████████████████████| 42 kB 3.1 MB/s
Collecting tensorflow-estimator==1.15.1
Downloading tensorflow_estimator-1.15.1-py2.py3-none-any.whl (503 kB)
|████████████████████████████████| 503 kB 4.9 MB/s
Collecting grpcio>=1.8.6
Downloading grpcio-1.29.0-cp37-cp37m-macosx_10_9_x86_64.whl (2.8 MB)
|████████████████████████████████| 2.8 MB 14.1 MB/s
Collecting opt-einsum>=2.3.2
Downloading opt_einsum-3.2.1-py3-none-any.whl (63 kB)
|████████████████████████████████| 63 kB 5.5 MB/s
Collecting astor>=0.6.0
Downloading astor-0.8.1-py2.py3-none-any.whl (27 kB)
Requirement already satisfied: setuptools>=41.0.0 in ./vdonkey/lib/python3.7/site-packages (from tensorboard<1.16.0,>=1.15.0->tensorflow==1.15.0) (47.1.1)
Collecting markdown>=2.6.8
Downloading Markdown-3.2.2-py3-none-any.whl (88 kB)
|████████████████████████████████| 88 kB 6.5 MB/s
Collecting werkzeug>=0.11.15
Downloading Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
|████████████████████████████████| 298 kB 16.1 MB/s
Collecting h5py
Downloading h5py-2.10.0-cp37-cp37m-macosx_10_6_intel.whl (3.0 MB)
|████████████████████████████████| 3.0 MB 35.2 MB/s
Requirement already satisfied: importlib-metadata; python_version < “3.8” in ./vdonkey/lib/python3.7/site-packages (from markdown>=2.6.8->tensorboard<1.16.0,>=1.15.0->tensorflow==1.15.0) (1.6.1)
Requirement already satisfied: zipp>=0.5 in ./vdonkey/lib/python3.7/site-packages (from importlib-metadata; python_version < “3.8”->markdown>=2.6.8->tensorboard<1.16.0,>=1.15.0->tensorflow==1.15.0) (3.1.0)
Building wheels for collected packages: absl-py, gast, termcolor, wrapt
Building wheel for absl-py (setup.py) … done
Created wheel for absl-py: filename=absl_py-0.9.0-py3-none-any.whl size=121931 sha256=0ebf2c60167c38cc1a7710fe398ffda06c5f3a90b1032e2dc8aaa04c88be8792
Stored in directory: /Users/chen/Library/Caches/pip/wheels/cc/af/1a/498a24d0730ef484019e007bb9e8cef3ac00311a672c049a3e
Building wheel for gast (setup.py) … done
Created wheel for gast: filename=gast-0.2.2-py3-none-any.whl size=7539 sha256=c0f7d62bd142cf70dd117cd53c7f3308b11d5121cd4cfadee95a109cc8ed5321
Stored in directory: /Users/chen/Library/Caches/pip/wheels/21/7f/02/420f32a803f7d0967b48dd823da3f558c5166991bfd204eef3
Building wheel for termcolor (setup.py) … done
Created wheel for termcolor: filename=termcolor-1.1.0-py3-none-any.whl size=4830 sha256=eae29569bece02a05534429923481614d786046411c02e3373bfa36cb4e00280
Stored in directory: /Users/chen/Library/Caches/pip/wheels/3f/e3/ec/8a8336ff196023622fbcb36de0c5a5c218cbb24111d1d4c7f2
Building wheel for wrapt (setup.py) … done
Created wheel for wrapt: filename=wrapt-1.12.1-cp37-cp37m-macosx_10_15_x86_64.whl size=32491 sha256=265f5a417eead6aecae94efc221bcd0b3514095f46b592f459f3be28ea8242ea
Stored in directory: /Users/chen/Library/Caches/pip/wheels/62/76/4c/aa25851149f3f6d9785f6c869387ad82b3fd37582fa8147ac6
Successfully built absl-py gast termcolor wrapt
Installing collected packages: absl-py, protobuf, grpcio, markdown, numpy, werkzeug, tensorboard, google-pasta, gast, termcolor, wrapt, h5py, keras-applications, keras-preprocessing, tensorflow-estimator, opt-einsum, astor, tensorflow
Successfully installed absl-py-0.9.0 astor-0.8.1 gast-0.2.2 google-pasta-0.2.0 grpcio-1.29.0 h5py-2.10.0 keras-applications-1.0.8 keras-preprocessing-1.1.2 markdown-3.2.2 numpy-1.18.5 opt-einsum-3.2.1 protobuf-3.12.2 tensorboard-1.15.0 tensorflow-1.15.0 tensorflow-estimator-1.15.1 termcolor-1.1.0 werkzeug-1.0.1 wrapt-1.12.1
Cloning into ‘donkeycar’…
remote: Enumerating objects: 13118, done.
remote: Total 13118 (delta 0), reused 0 (delta 0), pack-reused 13118
Receiving objects: 100% (13118/13118), 67.77 MiB | 6.81 MiB/s, done.
Resolving deltas: 100% (8296/8296), done.
/Users/chen/workspace/donkeycar
Branch ‘master’ set up to track remote branch ‘master’ from ‘origin’.
Switched to a new branch ‘master’
Obtaining file:///Users/chen/workspace/donkeycar
Requirement already satisfied: numpy in /Users/chen/workspace/vdonkey/lib/python3.7/site-packages (from donkeycar==3.1.2) (1.18.5)
Collecting pillow
Downloading Pillow-7.1.2-cp37-cp37m-macosx_10_10_x86_64.whl (2.2 MB)
|████████████████████████████████| 2.2 MB 3.0 MB/s
Collecting docopt
Downloading docopt-0.6.2.tar.gz (25 kB)
Requirement already satisfied: tornado in /Users/chen/workspace/vdonkey/lib/python3.7/site-packages (from donkeycar==3.1.2) (6.0.4)
Collecting requests
Downloading requests-2.23.0-py2.py3-none-any.whl (58 kB)
|████████████████████████████████| 58 kB 14.6 MB/s
Requirement already satisfied: h5py in /Users/chen/workspace/vdonkey/lib/python3.7/site-packages (from donkeycar==3.1.2) (2.10.0)
Collecting moviepy
Downloading moviepy-1.0.3.tar.gz (388 kB)
|████████████████████████████████| 388 kB 40.4 MB/s
Collecting pandas
Downloading pandas-1.0.4-cp37-cp37m-macosx_10_9_x86_64.whl (10.0 MB)
|████████████████████████████████| 10.0 MB 8.7 MB/s
Collecting PrettyTable
Downloading prettytable-0.7.2.tar.bz2 (21 kB)
Collecting paho-mqtt
Downloading paho-mqtt-1.5.0.tar.gz (99 kB)
|████████████████████████████████| 99 kB 11.4 MB/s
Collecting matplotlib
Downloading matplotlib-3.2.1-cp37-cp37m-macosx_10_9_x86_64.whl (12.4 MB)
|████████████████████████████████| 12.4 MB 9.7 MB/s
Collecting idna<3,>=2.5
Downloading idna-2.9-py2.py3-none-any.whl (58 kB)
|████████████████████████████████| 58 kB 10.5 MB/s
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
Downloading urllib3-1.25.9-py2.py3-none-any.whl (126 kB)
|████████████████████████████████| 126 kB 34.4 MB/s
Collecting certifi>=2017.4.17
Downloading certifi-2020.4.5.2-py2.py3-none-any.whl (157 kB)
|████████████████████████████████| 157 kB 9.7 MB/s
Collecting chardet<4,>=3.0.2
Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
|████████████████████████████████| 133 kB 5.5 MB/s
Requirement already satisfied: six in /Users/chen/workspace/vdonkey/lib/python3.7/site-packages (from h5py->donkeycar==3.1.2) (1.15.0)
Requirement already satisfied: decorator<5.0,>=4.0.2 in /Users/chen/workspace/vdonkey/lib/python3.7/site-packages (from moviepy->donkeycar==3.1.2) (4.4.2)
Collecting tqdm<5.0,>=4.11.2
Downloading tqdm-4.46.1-py2.py3-none-any.whl (63 kB)
|████████████████████████████████| 63 kB 4.0 MB/s
Collecting proglog<=1.0.0
Downloading proglog-0.1.9.tar.gz (10 kB)
Collecting imageio<3.0,>=2.5
Downloading imageio-2.8.0-py3-none-any.whl (3.3 MB)
|████████████████████████████████| 3.3 MB 2.2 MB/s
Collecting imageio_ffmpeg>=0.2.0
Downloading imageio_ffmpeg-0.4.2-py3-none-macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (22.5 MB)
|████████████████████████████████| 22.5 MB 8.4 MB/s
Collecting pytz>=2017.2
Downloading pytz-2020.1-py2.py3-none-any.whl (510 kB)
|████████████████████████████████| 510 kB 7.2 MB/s
Requirement already satisfied: python-dateutil>=2.6.1 in /Users/chen/workspace/vdonkey/lib/python3.7/site-packages (from pandas->donkeycar==3.1.2) (2.8.1)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /Users/chen/workspace/vdonkey/lib/python3.7/site-packages (from matplotlib->donkeycar==3.1.2) (2.4.7)
Collecting cycler>=0.10
Downloading cycler-0.10.0-py2.py3-none-any.whl (6.5 kB)
Collecting kiwisolver>=1.0.1
Downloading kiwisolver-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl (60 kB)
|████████████████████████████████| 60 kB 11.5 MB/s
Building wheels for collected packages: docopt, moviepy, PrettyTable, paho-mqtt, proglog
Building wheel for docopt (setup.py) … done
Created wheel for docopt: filename=docopt-0.6.2-py2.py3-none-any.whl size=13704 sha256=1ed8fcb85a9ec872c113c6977422bdf9f2708419501cf184e5206d2eea36f663
Stored in directory: /Users/chen/Library/Caches/pip/wheels/72/b0/3f/1d95f96ff986c7dfffe46ce2be4062f38ebd04b506c77c81b9
Building wheel for moviepy (setup.py) … done
Created wheel for moviepy: filename=moviepy-1.0.3-py3-none-any.whl size=110727 sha256=c841358abb362d7d6f4fb5f5fc27014c495d20d374e97278b38053602933ff7f
Stored in directory: /Users/chen/Library/Caches/pip/wheels/56/dc/2b/9cd600d483c04af3353d66623056fc03faed76b7518faae4df
Building wheel for PrettyTable (setup.py) … done
Created wheel for PrettyTable: filename=prettytable-0.7.2-py3-none-any.whl size=13698 sha256=7a707229ae28bad4daf980fb0ecf36af8959d4c33d85eec4d066eaa44c293a44
Stored in directory: /Users/chen/Library/Caches/pip/wheels/8c/76/0b/eb9eb3da7e2335e3577e3f96a0ae9f74f206e26457bd1a2bc8
Building wheel for paho-mqtt (setup.py) … done
Created wheel for paho-mqtt: filename=paho_mqtt-1.5.0-py3-none-any.whl size=61415 sha256=d6c6b029c64bee8cf5cb83df8de4b483ccc865f2685ebe190bf69d4de436bbe5
Stored in directory: /Users/chen/Library/Caches/pip/wheels/0d/7c/fb/05123381bd60c57ffcdc6fcc1c26e585dedee85b8c1625e2c1
Building wheel for proglog (setup.py) … done
Created wheel for proglog: filename=proglog-0.1.9-py3-none-any.whl size=6146 sha256=e88b5e1b73a9ff77c324a69ce340bd15584c2eb126bc68073438eec518d13b1c
Stored in directory: /Users/chen/Library/Caches/pip/wheels/12/36/1f/dc61e6ac10781d63cf6fa045eb09fa613a667384e12cb6e6e0
Successfully built docopt moviepy PrettyTable paho-mqtt proglog
Installing collected packages: pillow, docopt, idna, urllib3, certifi, chardet, requests, tqdm, proglog, imageio, imageio-ffmpeg, moviepy, pytz, pandas, PrettyTable, paho-mqtt, cycler, kiwisolver, matplotlib, donkeycar
Running setup.py develop for donkeycar
Successfully installed PrettyTable-0.7.2 certifi-2020.4.5.2 chardet-3.0.4 cycler-0.10.0 docopt-0.6.2 donkeycar idna-2.9 imageio-2.8.0 imageio-ffmpeg-0.4.2 kiwisolver-1.2.0 matplotlib-3.2.1 moviepy-1.0.3 paho-mqtt-1.5.0 pandas-1.0.4 pillow-7.1.2 proglog-0.1.9 pytz-2020.1 requests-2.23.0 tqdm-4.46.1 urllib3-1.25.9
ERROR: gym-donkeycar is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with svn+, git+, hg+, or bzr+).
/Users/chen/workspace
Collecting gym
Downloading gym-0.17.2.tar.gz (1.6 MB)
|████████████████████████████████| 1.6 MB 2.9 MB/s
Collecting scipy
Downloading scipy-1.4.1-cp37-cp37m-macosx_10_6_intel.whl (28.4 MB)
|████████████████████████████████| 28.4 MB 5.6 MB/s
Requirement already satisfied: numpy>=1.10.4 in ./vdonkey/lib/python3.7/site-packages (from gym) (1.18.5)
Collecting pyglet<=1.5.0,>=1.4.0
Downloading pyglet-1.5.0-py2.py3-none-any.whl (1.0 MB)
|████████████████████████████████| 1.0 MB 6.8 MB/s
Collecting cloudpickle<1.4.0,>=1.2.0
Downloading cloudpickle-1.3.0-py2.py3-none-any.whl (26 kB)
Collecting future
Downloading future-0.18.2.tar.gz (829 kB)
|████████████████████████████████| 829 kB 5.0 MB/s
Building wheels for collected packages: gym, future
Building wheel for gym (setup.py) … done
Created wheel for gym: filename=gym-0.17.2-py3-none-any.whl size=1650891 sha256=681ab556d738088cd196205a956372aa5d866ad3f8addd5e21c0bf10064a1a9e
Stored in directory: /Users/chen/Library/Caches/pip/wheels/18/e1/58/89a2aa24e6c2cc800204fc02010612afdf200926c4d6bfe315
Building wheel for future (setup.py) … done
Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491058 sha256=993d38b324ae7137487f75a01b07d6c71a28e086ede9ca0920cb17b3e327e924
Stored in directory: /Users/chen/Library/Caches/pip/wheels/56/b0/fe/4410d17b32f1f0c3cf54cdfb2bc04d7b4b8f4ae377e2229ba0
Successfully built gym future
Installing collected packages: scipy, future, pyglet, cloudpickle, gym
Successfully installed cloudpickle-1.3.0 future-0.18.2 gym-0.17.2 pyglet-1.5.0 scipy-1.4.1
Cloning into ‘gym-donkeycar’…
remote: Enumerating objects: 773, done.
remote: Total 773 (delta 0), reused 0 (delta 0), pack-reused 773
Receiving objects: 100% (773/773), 2.94 MiB | 2.60 MiB/s, done.
Resolving deltas: 100% (430/430), done.
Obtaining file:///Users/chen/workspace/gym-donkeycar
Requirement already satisfied: gym in ./vdonkey/lib/python3.7/site-packages (from gym-donkeycar==1.0.14) (0.17.2)
Requirement already satisfied: numpy in ./vdonkey/lib/python3.7/site-packages (from gym-donkeycar==1.0.14) (1.18.5)
Requirement already satisfied: pillow in ./vdonkey/lib/python3.7/site-packages (from gym-donkeycar==1.0.14) (7.1.2)
Collecting pytest
Downloading pytest-5.4.3-py3-none-any.whl (248 kB)
|████████████████████████████████| 248 kB 3.5 MB/s
Collecting pytest-mock
Downloading pytest_mock-3.1.1-py3-none-any.whl (10 kB)
Requirement already satisfied: cloudpickle<1.4.0,>=1.2.0 in ./vdonkey/lib/python3.7/site-packages (from gym->gym-donkeycar==1.0.14) (1.3.0)
Requirement already satisfied: scipy in ./vdonkey/lib/python3.7/site-packages (from gym->gym-donkeycar==1.0.14) (1.4.1)
Requirement already satisfied: pyglet<=1.5.0,>=1.4.0 in ./vdonkey/lib/python3.7/site-packages (from gym->gym-donkeycar==1.0.14) (1.5.0)
Collecting more-itertools>=4.0.0
Downloading more_itertools-8.4.0-py3-none-any.whl (43 kB)
|████████████████████████████████| 43 kB 3.4 MB/s
Requirement already satisfied: attrs>=17.4.0 in ./vdonkey/lib/python3.7/site-packages (from pytest->gym-donkeycar==1.0.14) (19.3.0)
Requirement already satisfied: importlib-metadata>=0.12; python_version < “3.8” in ./vdonkey/lib/python3.7/site-packages (from pytest->gym-donkeycar==1.0.14) (1.6.1)
Collecting pluggy<1.0,>=0.12
Downloading pluggy-0.13.1-py2.py3-none-any.whl (18 kB)
Collecting py>=1.5.0
Downloading py-1.8.2-py2.py3-none-any.whl (83 kB)
|████████████████████████████████| 83 kB 5.0 MB/s
Requirement already satisfied: packaging in ./vdonkey/lib/python3.7/site-packages (from pytest->gym-donkeycar==1.0.14) (20.4)
Requirement already satisfied: wcwidth in ./vdonkey/lib/python3.7/site-packages (from pytest->gym-donkeycar==1.0.14) (0.2.4)
Requirement already satisfied: future in ./vdonkey/lib/python3.7/site-packages (from pyglet<=1.5.0,>=1.4.0->gym->gym-donkeycar==1.0.14) (0.18.2)
Requirement already satisfied: zipp>=0.5 in ./vdonkey/lib/python3.7/site-packages (from importlib-metadata>=0.12; python_version < “3.8”->pytest->gym-donkeycar==1.0.14) (3.1.0)
Requirement already satisfied: pyparsing>=2.0.2 in ./vdonkey/lib/python3.7/site-packages (from packaging->pytest->gym-donkeycar==1.0.14) (2.4.7)
Requirement already satisfied: six in ./vdonkey/lib/python3.7/site-packages (from packaging->pytest->gym-donkeycar==1.0.14) (1.15.0)
Installing collected packages: more-itertools, pluggy, py, pytest, pytest-mock, gym-donkeycar
Running setup.py develop for gym-donkeycar
Successfully installed gym-donkeycar more-itertools-8.4.0 pluggy-0.13.1 py-1.8.2 pytest-5.4.3 pytest-mock-3.1.1

DonkeySIM0:事前準備

Published by:

ハンズオンはテキスト兼実行環境のJupyter notebookを利用します。このJupyter notebookは2つの環境に接続して利用します。一つはローカルのPC(以下ローカル環境)です。もう一つはGoogle ColaboratoryのGPUインスタンス(以下、colab環境)となります。ローカル環境は「教師データの収集」と「自動走行」に利用します。colab環境は「AIの学習」にのみ利用します。

env

ローカル環境が以下を満たすか確認してください。 >

  • [  ] Python3.7がインストールされていること。
  • [  ] pipがコマンドラインから実行できること。
  • [  ] Gitがインストールされコマンドラインから実行できること。

 

自分のMacは、最新版OSのPython、Gitも内蔵の利用するので、下記の2点不要と思う。

pythonのインストール方法はこちら

gitのインストール方法はこちら

 

準備1 colab環境の設定

下記リンクからColaboratoryを起動します。
「ノートブックの設定」ダイアログの「ハードウェアアクセラレータ」プルダウンメニューから「GPU」を選択して、「保存」を押下してください。

準備2 ローカルPCの設定

手順1. 仮想環境の作成

まずは演習用のフォルダを作り、pythonの仮想環境を作成します。

Last login: Mon Jun 15 08:06:57 on console
chen@hongs-mbp ~ % mkdir ~/workspace && cd workspace
chen@hongs-mbp workspace % pwd
/Users/chen/workspace
chen@hongs-mbp workspace % pip install virtualenv
ERROR:root:code for hash md5 was not found.
仮想環境の作成 失敗!!!
Python は古いから。。。。
ここは、pip3使うべき!

chen@hongs-mbp ~ % pip3 install virtualenv
Collecting virtualenv
Downloading virtualenv-20.0.23-py2.py3-none-any.whl (4.7 MB)

。。。。。。

Successfully built distlib
Installing collected packages: six, distlib, filelock, appdirs, zipp, importlib-metadata, virtualenv
Successfully installed appdirs-1.4.4 distlib-0.3.0 filelock-3.0.12 importlib-metadata-1.6.1 six-1.15.0 virtualenv-20.0.23 zipp-3.1.0
chen@hongs-mbp ~ %

Python3を最新版にすることで、virtualenv 成功した!!!

chen@hongs-mbp workspace % virtualenv vdonkey
created virtual environment CPython3.7.7.final.0-64 in 503ms
creator CPython3Posix(dest=/Users/chen/workspace/vdonkey, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/Users/chen/Library/Application Support/virtualenv/seed-app-data/v1.0.1)
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
chen@hongs-mbp workspace %
こちらもOKです。

手順2. 仮想環境のアクティベーション

こちらもOKです

手順3. Jupyter Notebookのインストール

(vdonkey) chen@hongs-mbp workspace % pip3 install jupyter jupyter_http_over_ws
。。。。。。。
Successfully installed MarkupSafe-1.1.1 Send2Trash-1.5.0 appnope-0.1.0 attrs-19.3.0 backcall-0.2.0 bleach-3.1.5 decorator-4.4.2 defusedxml-0.6.0 entrypoints-0.3 importlib-metadata-1.6.1 ipykernel-5.3.0 ipython-7.15.0 ipython-genutils-0.2.0 ipywidgets-7.5.1 jedi-0.17.0 jinja2-2.11.2 jsonschema-3.2.0 jupyter-1.0.0 jupyter-client-6.1.3 jupyter-console-6.1.0 jupyter-core-4.6.3 jupyter-http-over-ws-0.0.8 mistune-0.8.4 nbconvert-5.6.1 nbformat-5.0.7 notebook-6.0.3 packaging-20.4 pandocfilters-1.4.2 parso-0.7.0 pexpect-4.8.0 pickleshare-0.7.5 prometheus-client-0.8.0 prompt-toolkit-3.0.5 ptyprocess-0.6.0 pygments-2.6.1 pyparsing-2.4.7 pyrsistent-0.16.0 python-dateutil-2.8.1 pyzmq-19.0.1 qtconsole-4.7.4 qtpy-1.9.0 six-1.15.0 terminado-0.8.3 testpath-0.4.4 tornado-6.0.4 traitlets-4.3.3 wcwidth-0.2.4 webencodings-0.5.1 widgetsnbextension-3.5.1 zipp-3.1.0
こちらも成功!!!
(vdonkey) chen@hongs-mbp workspace % jupyter serverextension enable –py jupyter_http_over_ws
Enabling: jupyter_http_over_ws
– Writing config: /Users/chen/.jupyter
    – Validating…
      jupyter_http_over_ws 0.0.7 OK
(vdonkey) chen@hongs-mbp workspace %
手順4. Jupyter Notebookの起動
(vdonkey) chen@hongs-mbp workspace % jupyter serverextension enable –py jupyter_http_over_ws
Enabling: jupyter_http_over_ws
– Writing config: /Users/chen/.jupyter
    – Validating…
      jupyter_http_over_ws 0.0.7 OK
(vdonkey) chen@hongs-mbp workspace % jupyter notebook –NotebookApp.allow_origin=’https://colab.research.google.com’ –port=8888 –NotebookApp.port_retries=0
[I 00:23:03.645 NotebookApp] Writing notebook server cookie secret to /Users/chen/Library/Jupyter/runtime/notebook_cookie_secret
jupyter_http_over_ws extension initialized. Listening on /http_over_websocket
[I 00:23:04.424 NotebookApp] Serving notebooks from local directory: /Users/chen/workspace
[I 00:23:04.424 NotebookApp] The Jupyter Notebook is running at:
[I 00:23:04.424 NotebookApp] http://localhost:8888/?token=083c0c6333e2aee5d7687bda7c4476a7b50a5eb33ae75728
[I 00:23:04.425 NotebookApp]  or http://127.0.0.1:8888/?token=083c0c6333e2aee5d7687bda7c4476a7b50a5eb33ae75728
[I 00:23:04.425 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 00:23:04.436 NotebookApp]
    To access the notebook, open this file in a browser:
        file:///Users/chen/Library/Jupyter/runtime/nbserver-17083-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=083c0c6333e2aee5d7687bda7c4476a7b50a5eb33ae75728
     or http://127.0.0.1:8888/?token=083c0c6333e2aee5d7687bda7c4476a7b50a5eb33ae75728

手順2. 仮想環境のアクティベーション

$cd ~/workspace
$source vdonkey/bin/activate
実行後ターミナルの表記が以下のようになることを確認する。
(vdonkey)$
ターミナル閉じるなど、仮想環境終了した場合、再開する際この仮想環境のアクティベーションから再開してください

手順3. Jupyter Notebookのインストール

手順4. Jupyter Notebookの起動

ターミナル閉じるなど、仮想環境終了した場合、再開する際手順2. 仮想環境のアクティベーションから再開してください

準備3 colab環境とローカル環境の切り替え

colab環境のブラウザで、colab環境とローカル環境の切り替え方法を確認します。

まずはローカル環境へ接続します。画面右上の「編集」左側にある下矢印をクリックし、「ランタイム選択」のプルダウンリストを表示します。

「ローカルランタイムに接続」を選択して

  1. ローカル環境に接続する場合 – ローカルランタイムに接続を選択
  2. colab環境に接続する場合 – ホスト型ランタイムに接続を選択

 

DonkeySIM4.3:DonkeyCarソフトウェアの起動

Published by:

DonkeyCarのコントーラはpython manage.py driveコマンドで起動します。次のセルを実行します。これまでのセルとは違い、実行を手動で停止させるまで完了することはありません。

/Users/chen/workspace/mycar
using donkey v3.1.2 …
loading config file: /Users/chen/workspace/mycar/config.py
myconfig myconfig.py
loading personal config over-rides from myconfig.py
config loaded
cfg.CAMERA_TYPE PICAM
starting DonkeyGym env
connecting to 127.0.0.1 9091
/Users/chen/workspace/vdonkey/lib/python3.7/site-packages/gym/logger.py:30: UserWarning: WARN: Box bound precision lowered by casting to float32
warnings.warn(colorize(‘%s: %s’%(‘WARN’, msg % args), ‘yellow’))
waiting for sim to start..
loading scene 4 mountain_track
Adding part DonkeyGymEnv.
Starting Donkey Server…… you can now go to hongs-mbp.lan.local:8887 to drive your car.
Adding part LocalWebController.
Adding part ThrottleFilter.
Adding part PilotCondition.
Adding part RecordTracker.
Adding part ImgPreProcess.
Adding part DriveMode.
Adding part AiLaunch.
Adding part AiRunCondition.
Tub does NOT exist. Creating new tub…
New tub created at: /Users/chen/workspace/mycar/data/tub_1_20-06-18
Adding part TubWriter.
You can now go to http://localhost:8887 to drive your car.
Starting vehicle at 20 Hz
WARNING:tornado.access:404 GET /favicon.ico (::1) 7.78ms
WARNING:tornado.access:404 GET /favicon.ico (192.168.86.104) 4.66ms
WARNING:tornado.access:404 GET /favicon.ico (192.168.86.104) 3.88ms
recorded 10 records
recorded 20 records
recorded 30 records
INFO:gym_donkeycar.envs.donkey_sim:crossed start line: lap_time 0
recorded 40 records
recorded 50 records
recorded 60 records
recorded 70 records
recorded 80 records
INFO:gym_donkeycar.envs.donkey_sim:crossed start line: lap_time 0
INFO:gym_donkeycar.envs.donkey_sim:crossed start line: lap_time 30740
recorded 90 records
recorded 100 records
recorded 110 records
recorded 120 records
recorded 130 records
recorded 140 records
INFO:gym_donkeycar.envs.donkey_sim:crossed start line: lap_time 27760