Azure Machine Learning パイプラインのステップは、ワークフロー内の個々のタスクを表します。各ステップは、データの前処理、モデルのトレーニング、モデルの評価など、特定の作業を実行します。以下に、Azure Machine Learning パイプラインでステップを作成する基本的な手順を示します。
-
Azure Machine Learning ワークスペースをセットアップします。ワークスペースは、パイプラインの実行に必要なリソースを提供します。
-
実行するスクリプトやコードを作成します。これは、各ステップで実行されるタスクを定義するものです。例えば、データの準備やモデルのトレーニングに使用するスクリプトを作成します。
-
パイプラインのステップを定義します。各ステップは、実行するコードやスクリプト、入力データや出力データの場所などを指定します。また、ステップ間の依存関係や制御フローも設定できます。
-
パイプラインを実行します。Azure Machine Learning ワークスペースでパイプラインをトリガーするか、スケジュールして自動実行することができます。
以下に、実際のコード例を示します。
from azureml.core import Workspace, Experiment, ScriptRunConfig
from azureml.pipeline.core import Pipeline, PipelineData
from azureml.pipeline.steps import PythonScriptStep
# ワークスペースの設定
workspace = Workspace.from_config()
# ステップで使用するデータの場所
input_data = PipelineData("input_data", datastore=workspace.get_default_datastore())
output_data = PipelineData("output_data", datastore=workspace.get_default_datastore())
# ステップの定義
step1 = PythonScriptStep(
name="データの前処理",
script_name="preprocess.py",
compute_target="cpu-cluster",
inputs=[input_data],
outputs=[output_data],
arguments=["--input_data", input_data, "--output_data", output_data],
source_directory="./scripts"
)
step2 = PythonScriptStep(
name="モデルのトレーニング",
script_name="train.py",
compute_target="gpu-cluster",
inputs=[output_data],
arguments=["--input_data", output_data],
source_directory="./scripts"
)
# パイプラインの定義
pipeline = Pipeline(workspace=workspace, steps=[step1, step2])
# パイプラインの実行
experiment = Experiment(workspace, "my_pipeline_experiment")
pipeline_run = experiment.submit(pipeline)
このように、Azure Machine Learning パイプラインを使用することで、機械学習モデルのトレーニングやデプロイメントを効率化し、繰り返し可能なワークフローを作成することができます。詳細な情報や他のステップの例については、Azure Machine Learning のドキュメントを参照してください。