ディープラーニング用仮想マシンを作成
Azure にサインイン
ポータル画面を開く
「+リソースの作成」をクリック
"Deep Learning"で検索
「Deep Learning Virtual Machine」をクリック
「作成」をクリック
1 基本
「Name」名前を決める
「Select OS type for ...」はLinuxを選択
「User name」は仮想マシンにログインするユーザー名を決める
「Password」は同パスワードを決める
「Confirm password」は上と同じものを再入力
「サブスクリプション」はそのまま
「リソースグループ」は新規作成で名前を決める
「場所」はそのまま
「OK」をクリック
2 Settings
「Virtual machine size」
デフォルトの「NC6」で良いが変更する場合は「サイズを変更します」をクリックしてVMサイズを選んで「選択」をクリック
3 概要
「OK」が青くなったらクリック
4 購入
「作成」をクリック
4分ほど待つとインスタンスが作成されたとメッセージが出る
vmに接続
Azureポータル画面左側メニューの「Virtual Machines」をクリック
作成した名前をクリック
「パブリックIPアドレス」にターミナルからsshで接続する
インストール
$ sudo apt-get install virtualenv build-essential python3-dev gfortran libhdf5-dev
$ virtualenv env -p python3
$ source env/bin/activate
$ pip install tensorflow-gpu==1.9.0
$ git clone https://github.com/autorope/donkeycar
$ pip install -e ./donkeycar[tf_gpu]
$ donkey createcar ~/mycar
$ cd mycar
訓練
ラズパイの~/mycar/tub/を手元のホストPCの~/mycar/tub/に転送して圧縮しvmに転送
ホストPCにターミナルでログインして
$ rsync -r pi@donkeypi.local:~/mycar/tub/ ~/mycar/tub/
$ zip ~/mycar/tub
$ rsync -r ~/mycar/tub.zip (vmのユーザー名)@(vmのパブリックアドレス):~/mycar/
vmで~/mycar/に解凍
$ unzip tub.zip
訓練を実行する
$ time python manage.py train --tub tub/ --model models/mypilot
「Epoch xxxxx: early stopping」が出れば訓練終了
vmの~/mycar/models/mypilotをホストPCの~/mycar/models/に転送
$ rsync -r (vmのユーザー名)@(vmのパブリックアドレス):~/mycar/models/mypilot ~/mycar/models/
ホストPCの~/mycar/models/mypilotをラズパイの~/mycar/models/に転送
$ rsync -r ~/mycar/models/mypilot pi@donkeypi.local:~/mycar/models/
ラズパイの ~/mycar/tub/は不要になったので削除する
$ rm -rf ~/mycar/tub
ラズパイで自動走行
$ python manage.py drive --model=~/mycar/models/mypilot
停止
Azureポータル画面左側メニューの「Virtual Machines」をクリック
作成した名前の右端の「・・・」をクリックして「停止」を選択
料金
https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/linux/
「NC6」(デフォルトのインスタンスのサイズ)の従量課金は¥100.80円/時間
vmを停止してもストレージの課金は発生する
たまに使うだけなら削除してまた使う時にvmを作成しインストールを行う
使用した費用の確認方法
左側メニューの「サブスクリプション」をクリック
「従量料金」をクリック
「コスト管理」の「コスト分析」をクリック
「累積コスト」をクリックして「1日あたりのコスト」を選択
実際の料金は翌日以降でないと反映されないようだ...