MkItYs

MkItYs > 音楽・漫画・VR・自律制御 > 

images

クラウドのコンテナで学習させる:GCP, Docker, ML-Agents

images

強化学習を、クラウドのサーバを使って実行する手順です。

関連


クラウドのコンテナでGPUを使う:GPC, Docker, nvidia-driver, cuda-toolkit
物理ベースのキャラを、強化学習で自律的に歩かせる:Unity (ML-Agents (Walker)), UnityChan, VRM (VRoid) , DAZ

手順:クラウドでの強化学習


強化学習をビデオモニタがない(ヘッドレスの)サーバで行うときは、次の手順で実行します:[※1]

サーバのOSに合わせた、ゲームの実行ファイルを作成(ビルド)
サーバに、実行ファイル群をコピー
サーバのターミナルからコマンドを打ち、学習を開始

コマンドは、ゲーム画面を表示しないので、引数「--no-graphics 」をつけて実行します:

$ cd ${DIR_ML_AGNETS}/ml-agents
$ mlagents-learn config/imitation/${FILE_YAML}.yaml --run-id=${ID_RUN} --env=${DIR_PLAYER}/${FILE_PLAYER}.x86_64 --no-graphics --num-envs=${NUMBER_OF_ENVS}

※1
ここではGPUを搭載したサーバを使っていますが、ただ<歩かせる>ことが目的の学習なら、GPUはほとんど使いません。じっさい、次のような使用率になります:
$ nvidia-smi
Fri Nov  5 13:34:01 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.29.05    Driver Version: 495.29.05    CUDA Version: 11.5     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            On   | 00000000:00:04.0 Off |                    0 |
| N/A   53C    P0    27W /  70W |   1182MiB / 15109MiB |      5%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      3185      C   /usr/bin/python3                 1179MiB |
+-----------------------------------------------------------------------------+

$ nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free,memory.used --format=csv -l 1
...
2021/11/05 13:27:00.900, Tesla T4, 5 %, 0 %, 1182 MiB, 13927 MiB, 1182 MiB
2021/11/05 13:27:01.901, Tesla T4, 5 %, 0 %, 1182 MiB, 13927 MiB, 1182 MiB
...