ディープラーニング用仮想マシンを作成
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日あたりのコスト」を選択
実際の料金は翌日以降でないと反映されないようだ...