目的
Python SDK v2でML pipeline作ろうとしたら複雑だったのでGithubのサンプルコードを使って自分用に整理した
Azure ML Pipelineについて
Azure Machine Learning パイプラインとは
Azure Machine Learning コンポーネントとは
Azure Machine Learning SDK v2 でコンポーネントを使用して機械学習パイプラインを作成して実行する (プレビュー)
Azure Machine Learning Python SDK v2 (プレビュー)
整理結果
ざっくりのイメージ
コンポーネントを選ぶとこんな中身。それぞれのコンポーネントがそれぞれのジョブ実行を送信したのと同じ感じ
これを作る流れ
コンポーネントの作り方
リファレンス
サンプル1. yamlからComponentsでパイプラインを構築する
学習目標 - このチュートリアルの終了時には、以下のことができるようになっているはずです。
- Python SDKからAMLワークスペースに接続する。
- YAML から
CommandComponent
を定義してロードする。- ロードしたコンポーネントを使用してパイプラインを作成する。
このノートブックでは、ユーザーがyamlを使ってコンポーネントを定義し、そのコンポーネントを使用してパイプラインを構築するシナリオを扱います。
コンポーネント
Load:yamlをload_component
yaml(python実行コマンド)
python
Pipeline
CreateSubmit:デコレータ defのみ
サンプル2 command_component で装飾された python 関数でパイプラインを構築する。
学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。
- Python SDKからAMLワークスペースに接続する。
- Python の関数と
command_component
デコレーターを使用してCommandComponent
を定義する。- command_component
で定義されたコンポーネントを使用して
Pipeline` を作成する。このノートでは、Python の関数と
@command_component
デコレータを使用してCommandComponent
を定義し、コマンドコンポーネントを使用してパイプラインを構築する方法について説明します。
Component
designer sdkが必要(Compute instanceになし
Load:デコレータつきpython import
python
Pipeline
CreateSubmit:デコレータdef(cluster
サンプル3 sweep ノードでパイプラインを構築する
学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。
- Python SDK から AML ワークスペースに接続する。
- スイープノードを
sweep()
で作成する。- スイープノードを使用してパイプラインを作成します。
このノートでは、
sweep()
を使用してスイープノードを作成し、それをパイプラインで使用する方法について説明します。sweepノードは、特定のコマンドコンポーネントに対して、指定された計算機(ローカルまたはクラウド)でハイパーパラメータチューニングを有効にするために使用することができます。ターゲット出力を検索するた>めのsearch_space
とobjective
を定義することができます。
Component
Load:yamlをload_component
※ Pipeline セルでロード
ソース内
Pipeline
CreateSubmit : デコレータdef(tag、sweep stepつき
サンプル4 コマンド機能でパイプラインを構築する
学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。
- Python SDKからAMLワークスペースに接続する。
- command()関数を使用して
CommandComponent
を定義する。- command()関数で定義されたコンポーネントを使用して、
Pipeline
を作成する。>このノートでは、コマンド関数を使って
CommandComponent
を定義し、コマンドコンポーネントを使用してパイプラインを作成する方法を説明します。コマンドコンポーネントは、Azure機械学習パイプラインの基本的な構成要素です。指定したコンピュート(ローカルまたはクラウド)上でタスクを実行するために使用することができます。コマンドコンポーネントは、必要なインフラストラクチャをセットアップするためにEnvironment
を受け取ります。このインフラストラクチャで実行するCommand
をinputs
と共に定義します。同じ >Component
を別のパイプラインで再利用することができます。
Compornent
command関数で定義
Rソース(Rわからん。。。
Pipeline
CreateSubmit:デコレータdef(tag
サンプル5 登録されたコンポーネントでパイプラインを構築する
学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。
- Python SDKからAMLワークスペースに接続する。
- YAML、
command_component
デコレーターを使用して、CommandComponent
を定義する。- ワークスペースにコンポーネントを作成する
- 登録されたコンポーネントを使用して
Pipeline
を作成する。このノートでは、SDKからコンポーネントを作成し、そのコンポーネントを使用してパイプラインを構築する方法を説明します。
Compornent
Load:yamlをload_component
yaml
Create
デコレータつきpython import
python
Create
Pipeline
CreateSubmit:デコレータdefのみ
サンプル6 スケジュールを使ってパイプラインを構築する
学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。
- Python SDKからAMLワークスペースに接続する。
- YAML から
CommandComponent
を定義してロードする。- ロードしたコンポーネントを使用して
Pipeline
を作成する。- パイプラインのスケジュールを設定する。
このノートでは、スケジュールを使用してパイプラインを作成する方法を説明します。
Component
Load:yamlをload_component
yaml
Pipeline
Create
Submit Schedule
サンプル7 並列コンポーネントでシンプルなMLパイプラインを構築する
学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。
- Python SDKからAMLワークスペースに接続する。
- 並列ノードによる
Pipeline
の作成- 並列ノードを使ってファイル/表形式データを処理する。
この例では、パラレルノードを作成し、それをパイプラインで使用する方法を説明します。並列ノードは、1つの>メインデータ入力を複数のミニバッチに自動分割し、ミニバッチごとに並列タスクを作成し、すべての並列タスクを計算機クラスタに分散して並列実行します。タスクの実行状況を監視し、データ/コード/プロセスに障害が発生した場合はタスクを自動再試行し、ユーザが設定した場所に出力を保存します。
Component
Load:yamlをload_component
yaml
parallel step:parallel関数で定義
Pipeline
CreateSubmit
サンプル8 AutoML in pipeline※Auto MLはコンポーネントなし
学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。
- Classification AutoMLタスクでパイプラインを作成する。
**このノートブックでは、パイプラインの中でClassification AutoMLタスクを使用する方法について説明します。