キュレーション環境を調べて使用する
キュレーション環境は、最も一般的な機械学習ワークロードのための事前構築済み環境であり、ワークスペースで既定で使用できます。
キュレーション環境には AzureML- というプレフィックスが付いていて、一般的な機械学習フレームワークやツールを使うスクリプトに対応するように設計されています。
たとえば、Scikit-Learn で回帰、クラスタリング、分類モデルをトレーニングするスクリプトを実行する場合のキュレーション環境があります。
キュレーション環境を調べるには、スタジオで表示するか、Azure CLI、または Python SDK を使います。
次のコマンドでは、Python SDK を使って、キュレーション環境の説明とタグを取得できます。
env = ml_client.environments.get("AzureML-sklearn-0.24-ubuntu18.04-py37-cpu", version=44)
print(env. description, env.tags)
選別された環境を使用する
最も一般的な環境の使用例は、スクリプトを (コマンド) ジョブ として実行する場合です。
スクリプトの実行に使う環境を指定するには、その名前とバージョンを指定して環境を参照します。
たとえば、次のコードは、Scikit-Learn を含むキュレーション環境を使うコマンド ジョブを Python SDK で構成する方法を示しています。
from azure.ai.ml import command
# configure job
job = command(
code="./src",
command="python train.py",
environment="AzureML-sklearn-0.24-ubuntu18.04-py37-cpu@latest",
compute="aml-cluster",
display_name="train-with-curated-environment",
experiment_name="train-with-curated-environment"
)
# submit job
returned_job = ml_client.create_or_update(job)
キュレーション環境のテストとトラブルシューティング
キュレーション環境を使うとデプロイ時間を短縮できるため、まずは事前に作成されたキュレーション環境のいずれかを使ってコードを実行できるかどうかを確認するのがベスト プラクティスです。
キュレーション環境の詳細を確認することで、必要なパッケージがすべて含まれていることを確認できます。 次に、その環境を使ってスクリプトを実行することでテストできます。
コードを実行するために必要なパッケージが環境に含まれていない場合、ジョブは失敗します。
ジョブが失敗した場合、Azure Machine Learning スタジオのジョブの [出力とログ] タブで詳細なエラー ログを確認できます。
環境が不完全であることを示す一般的なエラー メッセージは ModuleNotFoundError
です。 見つからなかったモジュールは、エラー メッセージに一覧表示されます。 エラー メッセージを確認することで、ライブラリを含むように環境を更新して、コードを実行する前に必要なパッケージがコンピューティング ターゲットにインストールされていることを確認できます。
その他の必要なパッケージを指定する必要がある場合は、これらのキュレーション環境をバックアップするように Dockerfile を変更することで、キュレーション環境を独自のカスタム環境のリファレンスとして使用できます。