LoginSignup
2
0

More than 3 years have passed since last update.

DonkeyCar 3.1.0「Azure Virtual Machine」を使ってGPUで訓練する

Last updated at Posted at 2019-08-09

ディープラーニング用仮想マシンを作成

Azure にサインイン
ポータル画面を開く
「+リソースの作成」をクリック
"Deep Learning"で検索
「Deep Learning Virtual Machine」をクリック
「作成」をクリック

1 基本

「Name」名前を決める
「Select OS type for ...」はLinuxを選択
「User name」は仮想マシンにログインするユーザー名を決める
「Password」は同パスワードを決める
「Confirm password」は上と同じものを再入力
「サブスクリプション」はそのまま
「リソースグループ」は新規作成で名前を決める
「場所」は「East US(米国東部)」
「OK」をクリック

2 Settings

「Virtual machine size」
デフォルトの「NC6」で良いが変更する場合は「サイズを変更します」をクリックしてVMサイズを選んで「選択」をクリック

3 概要

「OK」が青くなったらクリック

4 購入

「作成」をクリック
4分ほど待つとインスタンスが作成されたとメッセージが出る

vmに接続

Azureポータル画面左側メニューの「Virtual Machines」をクリック
作成した名前をクリック
「パブリックIPアドレス」にターミナルからsshで接続する

vmにDonkeyをインストール

$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
$ bash ./Miniconda3-latest-Linux-x86_64.sh
$ mkdir projects
$ cd projects
$ git clone https://github.com/autorope/donkeycar
$ cd donkeycar
$ git checkout master
仮想環境を作成
$ conda env create -f install/envs/ubuntu.yml
仮想環境に入る
$ conda activate donkey
$ pip install -e .[pc]
$ conda install tensorflow-gpu==1.13.1
$ donkey createcar --path ~/mycar
$ cd ~/mycar

vmに教師データファイルをアップロード

ラズパイのターミナルで
$ rsync -rtv ~/mycar/data/tub_xxx (vmのユーザー名)@(vmのパブリックIPアドレス):~/mycar/data
オプション
r:ディレクトリを再帰
t:ファイルのタイムスタンプを保持
v:経過表示
z:圧縮して転送
--delete:同期元にないファイルを同期先から削除する
ラズパイのmyconfig.pyでDEFAULT_MODEL_TYPE = 'linear'等を変更していたら
$ rsync -tv ~/mycar/myconfig.py (vmのユーザー名)@(vmのパブリックIPアドレス):~/mycar/
もしconfig.pyも変更していたら
$ rsync -tv ~/mycar/config.py (vmのユーザー名)@(vmのパブリックIPアドレス):~/mycar/

訓練

vmのターミナルで
$ time python manage.py train --tub ./data/tub_xxx --model ./models/mypilot.h5
訓練のタイプをmyconfig.pyの書き直しをせずに既定のlinearから変更する場合は「--type=(linear|categorical|rnn|imu|behavior|3d|localizer|latent)」で指定する
「Epoch xxxxx: early stopping」が出れば訓練終了

モデルファイルをラズパイにダウンロード

ラズパイのターミナルで
$ rsync -tvz (vmのユーザー名)@(vmのパブリックIPアドレス):~/mycar/models/mypilot.h5 ~/mycar/models/

ラズパイで自動運転走行

$ python manage.py drive --model=~/mycar/models/mypilot.h5

vmを停止

Azureポータル画面左側メニューの「Virtual Machines」をクリック
作成した名前の右端の「・・・」をクリックして「停止」を選択

再ログイン

$ conda activate /data/anaconda/envs/donkey
$ cd ~/mycar

リソースを削除

Azureポータル画面左側メニューの「Resource groups」をクリック
削除するリソース名の右端の「・・・」をクリックして「削除」を選択
削除するリソースの名前を入力

料金

https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/linux/
「NC6」(デフォルトのインスタンスのサイズ)の従量課金は¥100.80円/時間
vmを停止してもストレージの課金は発生する
継続して使うのでなければ完全に削除してまた使う時にvmを作成しインストールを行う

使用した費用の確認方法

左側メニューの「サブスクリプション」をクリック
「従量料金」をクリック
「コスト管理」の「コスト分析」をクリック
「累積コスト」をクリックして「1日あたりのコスト」を選択
実際の料金は翌日以降でないと反映されないようだ...

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0