ML-Agentsの強化学習はDockerイメージで実行できます。Buildで実行できるよね?ということを確認してみました。ML-Agentsのバージョンはv0.9.1となります。コマンドが利用できる前提です。コマンドのインストール方法は下記が参考になります。ML-Agentsの利用方法やDockerイメージの作成については下記をご参考ください。コマンドからビルド実行する前提となります。]パラメータの詳細は下記が参考になります。projects.buildshttps://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds定義のポイントを説明します。ML-Agentsで学習を開始するステップです。Dockerイメージを指定しています。Registryへアップする前提です。作成方法については、下記を参考ください。コマンド実行時にsourceとして指定します。指定するために定義しています。パラメータを指定しています。指定し、一意となるようにしています。同じようにビルド開始時に置換される変数となります。Storageへコピーするステップです。指定するとで、前ステップと同時に並行して実行されます。オプションを利用してコマンドを書いてます。['-']コマンドを整形してみます。ファイルとして作成されます。Storageへコピーするコマンドを実行します。ファイルが作成されないとステップが終了しないため、次の終了処理のステップで対応しています。終了処理こちらもbashコマンドを利用しています。することで、学習実行のステップが終わったら実行されるようにしています。存在しなければ、ダミーファイルを作成するコマンドになっています。これで、学習実行がエラーなどで、モデルファイルを作成しない場合もジョブが終了するようになります。Storageへコピーする定義になります。ML-Agentsで学習実行する場合、長時間となる可能性があります。Buildではステップごと、ジョブ全体としてタイムアウト時間を指定することができます。ジョブ全体のタイムアウトは指定しないとデフォルトで10分となりますので、定義しています。3600sタイムアウトについての詳細は下記が参考になります。Buildでジョブ実行させてみます。Dockerコンテナで実行できるビルドファイルがある前提です。詳細は下記をご参考ください。Qiitahttps://qiita.com/kai_kou/items/0c2f3c7d22363fd91e4e学習に必要となるビルドファイルとハイパーパラメータファイルをZIPファイルに圧縮します。圧縮ファイルはジョブ実行時にワークスペースへコピーされ勝手に展開されます。Storageにzipファイルがコピーされたらジョブを登録・実行して、学習させることもこれで可能になります。Buildでビルド実行してみるhttps://qiita.com/kai_kou/items/8f040e261c4a50ef8bfcまとめDockerを利用して動作させることができると、システム構成に選択の幅が広がって良いですね。メンテナンス性やコスト、想定されるスケールなどを考慮して、適切な選択ができそうです。