チートシート
基本セットアップ#
ワークスペースへの接続#
この Workspace オブジェクトは Azure ML 操作における基本的なオブジェクトで、一連のコードを通して共有されます。(wsという変数名で参照されることが多いです。)
ワークスペースの詳細: ワークスペース
コンピューティングターゲットへの接続#
使用例
コンピューティングターゲットの詳細: コンピューティングターゲット
Python 環境の準備#
pip のrequirements.txtファイルや Conda のenv.ymlファイルを使い、コンピューティング環境の Python 環境を Environment オブジェクトとして定義することができます。
docker イメージを使って環境を準備することもできます。
使用例
環境の詳細: 環境
コードをサブミットする#
Azure ML 上でコードを実行するためには:
- エントリーポイントとなるコードのパス、コードを実行するコンピューティングターゲット、そしてコードを実行する Python 環境の設定情報を作成します。
- Azure ML の実験を新規作成または再利用してサブミットします。
ScriptRunConfig#
典型的なディレクトリ構成例:
リモートコンピューティングクラスターtarget: ComputeTarget上の、Python 環境env: Environmentで、$ (env) python <path/to/code>/script.py [arguments]を実行するには、 ScriptRunConfigクラスを使用します。
ScriptRunConfig の引数の詳細: コマンドライン引数
info
compute_target: もし引数が与えられなかった場合は、スクリプトはローカルマシン上で実行されます。environment: もし引数が与えられなかった場合、Azure ML のデフォルトPython 環境が使用されます。環境の詳細: Environment
コマンド#
もしも明示的なコマンドを与える場合。
コマンドの詳細: コマンド
実験#
コードをサブミットするには実験を作成します。実験は、サブミットされた一連のコードをグルーピングしてコードの実行履歴を追跡する軽量のコンテナです。 (参照: Run History).
上記コードで返される Azure ML Studio へのリンクにより、実験の実行をモニタリングすることができます。
詳細: クラウド上でコードを実行する
使用例#
以下はコマンドラインから Conda 環境を使ってトレーニングスクリプトtrain.pyをローカルマシン上で実行する典型的な例です。
このスクリプトを Azure 上の GPU を使って実行したいと仮定します。
分散 GPU 学習#
分散 GPU 学習を有効にするためにScriptRunConfigを変更します。
info
mcr.microsoft.com/azureml/openmpi3.1.2-cuda10.1-cudnn7-ubuntu18.04は OpenMPI の docker イメージです。このイメージは Azure ML 上で分散学習を実行する際に必要となります。MpiConfigurationはトレーニングを行うノード数とノードあたりの GPU 数を指定するために使います。
詳細: 分散 GPU トレーニング
データへの接続#
ワークスペースwsのデフォルトデータストアにあるデータをトレーニングスクリプトから扱うためには:
詳細: データ
コマンドライン引数に以下を渡すことで上記のdatasetを使用できます。