LoginSignup
0
2

More than 1 year has passed since last update.

Azure Machine Learning Python SDK v2でのML Pipeline開発についての整理

Last updated at Posted at 2022-06-26

目的

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 (プレビュー)

Python SDK v2

整理結果

ざっくりのイメージ

image.png

コンポーネントを選ぶとこんな中身。それぞれのコンポーネントがそれぞれのジョブ実行を送信したのと同じ感じ

image.png

image.png

image.png

これを作る流れ

image.png

コンポーネントの作り方

image.png

リファレンス

load_component

command

サンプル1. yamlからComponentsでパイプラインを構築する

学習目標 - このチュートリアルの終了時には、以下のことができるようになっているはずです。

  • Python SDKからAMLワークスペースに接続する。
  • YAML から CommandComponent を定義してロードする。
  • ロードしたコンポーネントを使用してパイプラインを作成する。

このノートブックでは、ユーザーがyamlを使ってコンポーネントを定義し、そのコンポーネントを使用してパイプラインを構築するシナリオを扱います。

コンポーネント

Load:yamlをload_component

2022-06-25-16-10-48.png

yaml(python実行コマンド)

2022-06-25-16-10-56.png

python

2022-06-25-16-14-41.png

Pipeline

CreateSubmit:デコレータ defのみ

2022-06-25-16-11-33.png

サンプル2 command_component で装飾された python 関数でパイプラインを構築する。

学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。

  • Python SDKからAMLワークスペースに接続する。
  • Python の関数と command_component デコレーターを使用して CommandComponent を定義する。
  • command_componentで定義されたコンポーネントを使用してPipeline` を作成する。

このノートでは、Python の関数と @command_component デコレータを使用して CommandComponent を定義し、コマンドコンポーネントを使用してパイプラインを構築する方法について説明します。

Component

designer sdkが必要(Compute instanceになし

2022-06-25-16-13-41.png

Load:デコレータつきpython import

2022-06-25-16-13-56.png

python

2022-06-25-16-15-00.png

Pipeline

CreateSubmit:デコレータdef(cluster

2022-06-25-16-15-45.png

サンプル3 sweep ノードでパイプラインを構築する

学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。

  • Python SDK から AML ワークスペースに接続する。
  • スイープノードを sweep() で作成する。
  • スイープノードを使用してパイプラインを作成します。

このノートでは、sweep() を使用してスイープノードを作成し、それをパイプラインで使用する方法について説明します。sweepノードは、特定のコマンドコンポーネントに対して、指定された計算機(ローカルまたはクラウド)でハイパーパラメータチューニングを有効にするために使用することができます。ターゲット出力を検索するた>めの search_spaceobjective を定義することができます。

Component

Load:yamlをload_component

※ Pipeline セルでロード

ソース内

2022-06-25-16-16-25.png

Pipeline

CreateSubmit : デコレータdef(tag、sweep stepつき

2022-06-25-16-17-18.png

サンプル4 コマンド機能でパイプラインを構築する

学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。

  • Python SDKからAMLワークスペースに接続する。
  • command()関数を使用して CommandComponent を定義する。
  • command()関数で定義されたコンポーネントを使用して、Pipelineを作成する。>

このノートでは、コマンド関数を使って CommandComponent を定義し、コマンドコンポーネントを使用してパイプラインを作成する方法を説明します。コマンドコンポーネントは、Azure機械学習パイプラインの基本的な構成要素です。指定したコンピュート(ローカルまたはクラウド)上でタスクを実行するために使用することができます。コマンドコンポーネントは、必要なインフラストラクチャをセットアップするために Environment を受け取ります。このインフラストラクチャで実行する Commandinputs と共に定義します。同じ >Component を別のパイプラインで再利用することができます。

Compornent

command関数で定義

2022-06-25-16-20-21.png

Rソース(Rわからん。。。

2022-06-25-16-21-08.png

Pipeline

CreateSubmit:デコレータdef(tag

2022-06-25-16-44-01.png

サンプル5 登録されたコンポーネントでパイプラインを構築する

学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。

  • Python SDKからAMLワークスペースに接続する。
  • YAML、command_componentデコレーターを使用して、CommandComponentを定義する。
  • ワークスペースにコンポーネントを作成する
  • 登録されたコンポーネントを使用して Pipeline を作成する。

このノートでは、SDKからコンポーネントを作成し、そのコンポーネントを使用してパイプラインを構築する方法を説明します。

Compornent

Load:yamlをload_component

2022-06-25-16-46-57.png

yaml

2022-06-25-16-51-37.png

Create

2022-06-25-16-49-07.png

デコレータつきpython import

2022-06-25-16-51-08.png

python

2022-06-25-16-47-55.png

Create

2022-06-25-16-48-17.png

Pipeline

CreateSubmit:デコレータdefのみ

2022-06-25-17-05-10.png

サンプル6 スケジュールを使ってパイプラインを構築する

学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。

  • Python SDKからAMLワークスペースに接続する。
  • YAML から CommandComponent を定義してロードする。
  • ロードしたコンポーネントを使用して Pipeline を作成する。
  • パイプラインのスケジュールを設定する。

このノートでは、スケジュールを使用してパイプラインを作成する方法を説明します。

Component

Load:yamlをload_component

2022-06-25-17-09-17.png

yaml

2022-06-25-17-09-58.png

Pipeline

Create

2022-06-25-17-11-34.png

Submit Schedule

2022-06-25-17-12-00.png

サンプル7 並列コンポーネントでシンプルなMLパイプラインを構築する

学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。

  • Python SDKからAMLワークスペースに接続する。
  • 並列ノードによる Pipeline の作成
  • 並列ノードを使ってファイル/表形式データを処理する。

この例では、パラレルノードを作成し、それをパイプラインで使用する方法を説明します。並列ノードは、1つの>メインデータ入力を複数のミニバッチに自動分割し、ミニバッチごとに並列タスクを作成し、すべての並列タスクを計算機クラスタに分散して並列実行します。タスクの実行状況を監視し、データ/コード/プロセスに障害が発生した場合はタスクを自動再試行し、ユーザが設定した場所に出力を保存します。

Component

Load:yamlをload_component

2022-06-25-17-16-14.png

yaml

2022-06-25-17-16-31.png

parallel step:parallel関数で定義

2022-06-25-17-17-07.png

Pipeline

CreateSubmit

2022-06-25-17-17-55.png

サンプル8 AutoML in pipeline※Auto MLはコンポーネントなし

学習目標 - このチュートリアルの終わりまでに、あなたはできるようになるはずです。

  • Classification AutoMLタスクでパイプラインを作成する。

**このノートブックでは、パイプラインの中でClassification AutoMLタスクを使用する方法について説明します。

Component なし

Pipeline

Create デコレータ ( tag description

2022-06-25-17-20-49.png

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2