Category Archives: Uncategorized

DonkeySIM0:事前準備

ハンズオンはテキスト兼実行環境の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. 仮想環境のアクティベーション

作成したPythonの仮想環境で作業ができるように設定を行います。以下のコマンドを実行すると、仮想環境が利用できます。

  • macOSの場合
    $cd ~/workspace
    $source vdonkey/bin/activate
    実行後ターミナルの表記が以下のようになることを確認する。
    (vdonkey)$

この作業は新しくターミナルを起動する毎に実施する必要があります。仮想環境から抜けたい場合はターミナルを閉じることで終了します。

 

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

手順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

 

手順4. Jupyter Notebookの起動

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

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

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

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

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

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

 

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

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