Azure Machine Learning SDK for Python とは

データ サイエンティストと AI 開発者は、Python 用 Azure Machine Learning SDK を使用して、Azure Machine Learning service で機械学習のワークフローをビルドして実行します。 Jupyter Notebook、Visual Studio Code、お気に入りの Python IDE など、任意の Python 環境でサービスと対話できます。

SDK の主な領域は次のとおりです。

  • 機械学習の実験で使用されるデータセットのライフサイクルを調査、準備、管理します。
  • 機械学習の実験を監視、ログ記録、整理するためのクラウド リソースを管理します。
  • ローカルで、または GPU アクセラレーション モデルのトレーニングなどのクラウド リソースを使用して、モデルをトレーニングします。
  • 構成パラメーターとトレーニング データを受け入れる自動機械学習を使用します。 アルゴリズムとハイパーパラメーターの設定を自動的に反復処理して、予測を実行するための最適なモデルを見つけます。
  • Web サービスをデプロイして、トレーニング済みのモデルを任意のアプリケーションで使用できる RESTful サービスに変換します。

作業を開始する方法の詳細な手順については、チュートリアルを試してください。

以下のセクションでは、SDK 内の最も重要なクラスの一部の概要と、それらを使用するための一般的な設計パターンについて説明します。 SDK を入手するには、インストール ガイドのページを参照してください。

安定版と試験版の比較

Azure Machine Learning SDK for Python には、同一の SDK で安定した機能と試験的な機能の両方が用意されています。

機能の状態 説明
安定した機能 運用環境の準備

ほとんどのユース ケースと運用環境では、この機能の利用をお勧めします。 更新の頻度は、試験的な機能より低くなります。
試験的な機能 開発中

この機能は、運用環境での使用に向けた準備やテストが完了していない、新しく開発された機能や更新です。 こちらの機能はおおむね正しく機能するものの、破壊的変更が含まれていることがあります。 試験的な機能は、SDK の破壊的バグを除去することを目的としたものであり、更新プログラムを受け取ることができるのはテスト期間のみです。 実験的な機能は、プレビュー段階の機能とも呼ばれます。

試験的な機能はその名のとおり試験 (プレビュー) 段階にあるため、バグがないわけでも、安定しているわけでもありません。 以上のことから、Microsoft では、各種機能と更新を早い段階で試用することを希望し、かつ、バグや問題の報告に参加いただける上級ユーザーに限り、試験的な機能の使用をお勧めしています。

実験的な機能は、SDK リファレンスのメモ セクションでラベル付けされ、Azure Machine Learning のドキュメント全体で (プレビュー) などのテキストで示されます。

ワークスペース

名前空間: azureml.core.workspace.Workspace

Workspace クラスは、機械学習モデルを実験、トレーニング、およびデプロイするために使用する、クラウドでの基本的なリソースです。 これは、Azure サブスクリプションとリソース グループを、簡単に使用できるオブジェクトに結び付けます。

Workspace の create メソッドのすべてのパラメーターをご確認ください。既存のインスタンス (Storage、Key Vault、App-Insights、Azure Container Registry-ACR) の再利用や、プライベート エンドポイントの構成やコンピューティング先などの追加設定の変更のためのものがあります。

次のコードを使用して、クラスをインポートし、新しいワークスペースを作成します。 ワークスペースに使用する既存の Azure リソース グループがある場合は、create_resource_groupFalse に設定します。 一部の関数では、Azure 認証資格情報の入力を求められる場合があります。

from azureml.core import Workspace
ws = Workspace.create(name='myworkspace',
                      subscription_id='<azure-subscription-id>',
                      resource_group='myresourcegroup',
                      create_resource_group=True,
                      location='eastus2'
                     )

複数の環境で同じワークスペースを使用するには、最初に構成 JSON ファイルに書き込みます。 これにより、サブスクリプション、リソース、およびワークスペース名のデータが保存されます。

ws.write_config(path="./file-path", file_name="ws_config.json")

構成ファイルを読み取ることで、ワークスペースを読み込みます。

from azureml.core import Workspace
ws_other_environment = Workspace.from_config(path="./file-path/ws_config.json")

または、静的な get() メソッドを使用して、構成ファイルを使用せずに既存のワークスペースを読み込みます。

from azureml.core import Workspace
ws = Workspace.get(name="myworkspace", subscription_id='<azure-subscription-id>', resource_group='myresourcegroup')

変数 ws は、次のコード例の Workspace オブジェクトを表します。

実験

名前空間: azureml.core.experiment.Experiment

Experiment クラスは、試行 (個々のモデルの実行) のコレクションを表すもう 1 つの基本的なクラウド リソースです。 次のコードでは、Workspace 内から Experiment オブジェクトを名前によってフェッチするか、名前が存在しない場合は新しい Experiment オブジェクトを作成します。

from azureml.core.experiment import Experiment
experiment = Experiment(workspace=ws, name='test-experiment')

次のコードを実行して、Workspace に含まれるすべての Experiment オブジェクトの一覧を取得します。

list_experiments = Experiment.list(ws)

Experiment から Run オブジェクト (試行) の一覧を取得するには、get_runs 関数を使用します。 次のコードでは、実行を取得し、各実行 ID を出力しています。

list_runs = experiment.get_runs()
for run in list_runs:
    print(run.id)

実験の試行を実行する方法は 2 つあります。 Jupyter Notebook を対話的に実験している場合は、start_logging 関数を使用します。 標準的な Python 環境から実験を送信する場合は、submit 関数を使用します。 どちらの関数でも Run オブジェクトが返されます。 変数 experiment は、次のコード例の Experiment オブジェクトを表します。

ラン

名前空間: azureml.core.run.Run

実行は、実験の 1 回の試行を表します。 Run は、試行の非同期実行の監視、試行の出力の保存、結果の分析、生成された成果物へのアクセスに使用するオブジェクトです。 実験コード内で Run を使用して、メトリックと成果物を実行履歴サービスに記録します。 以下の機能があります。

  • メトリックとデータを格納および取得する。
  • 過去の実行を簡単に参照するためにタグと子階層を使用する。
  • デプロイのために格納されているモデル ファイルを登録する。
  • 実行のプロパティを格納、変更、取得する。

実行構成オブジェクトを使用して Experiment オブジェクトを送信することによって、Run オブジェクトを作成します。 tags パラメーターを使用して、カスタム カテゴリとラベルを実行に添付します。 後で Experiment から簡単に検索して取得できます。

tags = {"prod": "phase-1-model-tests"}
run = experiment.submit(config=your_config_object, tags=tags)

Experiment からのすべての Run オブジェクトの一覧を取得するには、静的 list 関数を使用します。 以前に作成したタグによってフィルター処理するには、tags パラメーターを指定します。

from azureml.core.run import Run
filtered_list_runs = Run.list(experiment, tags=tags)

実行の詳細な出力を取得するには、get_details 関数を使用します。

run_details = run.get_details()

この関数の出力は、以下を含むディクショナリです。

  • Run ID (実行 ID)
  • Status
  • 開始時刻と終了時刻
  • コンピューティング先 (ローカルとクラウド)
  • 実行で使用される依存関係とバージョン
  • トレーニング固有のデータ (モデルの種類によって異なります)

実行を構成して監視する方法の他の例については、方法に関する記事を参照してください。

モデル

名前空間: azureml.core.model.Model

Model クラスは、機械学習モデルのクラウド表現を操作するために使用されます。 メソッドは、ローカル開発環境とクラウド内の Workspace オブジェクトの間でのモデルの転送に役立ちます。

モデルの登録を使用して、モデルを Azure クラウドに格納し、ワークスペース内でバージョンを管理できます。 登録されたモデルは、名前とバージョンによって識別されます。 モデルを登録するたびに、既存のモデルと同じ名前で登録され、レジストリによってバージョンがインクリメントされます。 Azure Machine Learning では、Azure Machine Learning モデルだけでなく、Python 3 を使用して読み込むことができる任意のモデルがサポートされます。

次の例では、scikit-learn を使用して単純なローカル分類モデルを構築し、Workspace 内でモデルを登録し、クラウドからモデルをダウンロードする方法を示します。

単純な分類子である clf を作成して、年齢に基づいて顧客離反を予測します。 次に、同じディレクトリ内の .pkl ファイルにモデルをダンプします。

from sklearn import svm
import joblib
import numpy as np

# customer ages
X_train = np.array([50, 17, 35, 23, 28, 40, 31, 29, 19, 62])
X_train = X_train.reshape(-1, 1)
# churn y/n
y_train = ["yes", "no", "no", "no", "yes", "yes", "yes", "no", "no", "yes"]

clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)

joblib.dump(value=clf, filename="churn-model.pkl")

register 関数を使用してモデルをワークスペースに登録します。 ローカル モデル パスとモデル名を指定します。 同じ名前を複数回登録すると、新しいバージョンが作成されます。

from azureml.core.model import Model

model = Model.register(workspace=ws, model_path="churn-model.pkl", model_name="churn-model-test")

モデルがワークスペースに登録されたので、モデルの管理、ダウンロード、整理を簡単に行うことができます。 Workspace からモデル (別の環境など) オブジェクトを取得するには、クラス コンストラクターを使用し、モデル名と省略可能なパラメーターを指定します。 次に、download 関数を使用して、クラウド フォルダー構造を含むモデルをダウンロードします。

from azureml.core.model import Model
import os

model = Model(workspace=ws, name="churn-model-test")
model.download(target_dir=os.getcwd())

Workspace からモデルを削除するには、delete 関数を使用します。

model.delete()

モデルを登録した後、それを Web サービスとしてデプロイするのは簡単なプロセスです。 まず、イメージの作成と登録を行います。 この手順では、Python 環境とその依存関係を、Web サービスの要求と応答の形式を定義するスクリプトと共に構成します。 イメージを作成した後、コンピューティング先の CPU コアとメモリ パラメーターを設定するデプロイ構成をビルドします。 次に、イメージを添付します。

ComputeTarget、RunConfiguration、ScriptRunConfig

名前空間: azureml.core.compute.ComputeTarget
名前空間: azureml.core.runconfig.RunConfiguration
名前空間: azureml.core.script_run_config.ScriptRunConfig

ComputeTarget クラスは、コンピューティング先を作成および管理するための抽象的な親クラスです。 コンピューティング先は、機械学習モデルをトレーニングできるさまざまなリソースを表します。 コンピューティング先は、ローカル マシンでも、Azure Machine Learning コンピューティング、Azure HDInsight、リモート仮想マシンなどのクラウド リソースでもかまいません。

コンピューティング先を使用して、モデル トレーニング用の強力な仮想マシンを活用し、永続的なコンピューティング先または一時的にランタイムによって呼び出されるターゲットを設定します。 コンピューティング先の設定と管理に関する包括的なガイドについては、方法に関する記事を参照してください。

次のコードは、AmlCompute (ComputeTarget の子クラス) ターゲットを設定する単純な例を示しています。 このターゲットにより、Workspace オブジェクト内にランタイム リモート コンピューティング リソースが作成されます。 リソースは、ジョブが送信されるときに自動的にスケーリングされます。 実行が完了すると、自動的に削除されます。

単純な scikit-learn チャーン モデルを再利用し、現在のディレクトリにある独自のファイル train.py にビルドします。 ファイルの末尾に、outputs という名前の新しいディレクトリを作成します。 この手順では、クラウド (自分のワークスペース) にディレクトリを作成して、joblib.dump() によってシリアル化されたトレーニング済みのモデルを格納します。

# train.py

from sklearn import svm
import numpy as np
import joblib
import os

# customer ages
X_train = np.array([50, 17, 35, 23, 28, 40, 31, 29, 19, 62])
X_train = X_train.reshape(-1, 1)
# churn y/n
y_train = ["yes", "no", "no", "no", "yes", "yes", "yes", "no", "no", "yes"]

clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)

os.makedirs("outputs", exist_ok=True)
joblib.dump(value=clf, filename="outputs/churn-model.pkl")

次に、RunConfiguration オブジェクトをインスタンス化し、型とサイズを設定して、コンピューティング先を作成します。 この例では、最小のリソース サイズ (1 CPU コア、3.5 GB のメモリ) を使用します。 list_vms 変数には、サポートされている仮想マシンとそのサイズの一覧が含まれます。

from azureml.core.runconfig import RunConfiguration
from azureml.core.compute import AmlCompute
list_vms = AmlCompute.supported_vmsizes(workspace=ws)

compute_config = RunConfiguration()
compute_config.target = "amlcompute"
compute_config.amlcompute.vm_size = "STANDARD_D1_V2"

CondaDependencies クラスを使用して、リモート コンピューティング リソースの Python 環境の依存関係を作成します。 train.py ファイルでは scikit-learnnumpy を使用しており、これを環境にインストールする必要があります。 依存関係のバージョンを指定することもできます。 compute_config 内で環境を設定するには、dependencies オブジェクトを使用します。

from azureml.core.conda_dependencies import CondaDependencies

dependencies = CondaDependencies()
dependencies.add_pip_package("scikit-learn")
dependencies.add_pip_package("numpy==1.15.4")
compute_config.environment.python.conda_dependencies = dependencies

これで、実験を送信する準備が整いました。 ScriptRunConfig クラスを使用して、コンピューティング先の構成を添付し、トレーニング スクリプト train.py にパス/ファイルを指定します。 submit() 関数の config パラメーターを指定して、実験を送信します。 環境が初期化され、モデルがトレーニングされたときに、結果の実行に対して wait_for_completion を呼び出して、非同期実行の出力を確認します。

警告

特定の文字を ScriptRunConfig パラメーターで使用する場合の制限事項を次に示します。

  • "$;\ の各文字は、bash コマンドを分離するための予約文字と見なされるため、バックエンドでエスケープされます。
  • ()%!^<>&| の各文字は、Windows でのローカル実行の場合はエスケープされます。
from azureml.core.experiment import Experiment
from azureml.core import ScriptRunConfig

script_run_config = ScriptRunConfig(source_directory=os.getcwd(), script="train.py", run_config=compute_config)
experiment = Experiment(workspace=ws, name="compute_target_test")
run = experiment.submit(config=script_run_config)
run.wait_for_completion(show_output=True)

実行が完了した後、トレーニング済みのモデル ファイル churn-model.pkl が自分のワークスペース内で使用できるようになります。

環境

名前空間: azureml.core.environment

Azure Machine Learning 環境では、トレーニングとスコアリングのスクリプトに関連した Python パッケージ、環境変数、およびソフトウェア設定を指定します。 Python に加えて、環境に PySpark、Docker、および R を構成することもできます。 内部的には、環境は、コンピューティング先でトレーニング プロセスとスコアリング プロセスを実行するために使用される Docker イメージとなります。 環境は、Machine Learning ワークスペース内で管理およびバージョン管理されるエンティティであり、どのようなコンピューティング先でもコンピューティングの種類を問わず再現、監査、移植が可能な機械学習ワークフローを実現します。

Environment オブジェクトは、次の用途に使用できます。

  • トレーニング スクリプトを開発します。
  • 大規模なモデルのトレーニング用に Azure Machine Learning コンピューティングで同じ環境を再利用します。
  • 特定の種類のコンピューティングに関連付けられていない、その同じ環境によりモデルをデプロイします。

次のコードにより、SDK から Environment クラスがインポートされ、環境オブジェクトがインスタンス化されます。

from azureml.core.environment import Environment
Environment(name="myenv")

Conda、pip、またはプライベート wheel ファイルを使用して、パッケージを環境に追加します。 CondaDependency クラスを使用して、各パッケージの依存関係を指定し、それを環境の PythonSection に追加します。

次の例では環境に追加します。 バージョン 1.17.0 の numpy が追加されます。 また、pillow パッケージが環境 myenv に追加されます。 この例では、add_conda_package() メソッドと add_pip_package() メソッドがそれぞれ使用されています。

from azureml.core.environment import Environment
from azureml.core.conda_dependencies import CondaDependencies

myenv = Environment(name="myenv")
conda_dep = CondaDependencies()

# Installs numpy version 1.17.0 conda package
conda_dep.add_conda_package("numpy==1.17.0")

# Installs pillow package
conda_dep.add_pip_package("pillow")

# Adds dependencies to PythonSection of myenv
myenv.python.conda_dependencies=conda_dep

トレーニング実行を送信するには、環境、コンピューティング ターゲット、トレーニング Python スクリプトを実行構成に結合する必要があります。 この構成は、実行の送信に使用されるラッパー オブジェクトです。

トレーニング実行を送信するときに、新しい環境のビルドに数分かかる場合があります。 その期間は、必要な依存関係のサイズによって異なります。 環境はサービスによってキャッシュされます。 そのため、環境定義が変更されていない限り、完全なセットアップの時間が発生するのは一度だけです。

次の例では、ScriptRunConfig をラッパー オブジェクトとして使用する場所を示しています。

from azureml.core import ScriptRunConfig, Experiment
from azureml.core.environment import Environment

exp = Experiment(name="myexp", workspace = ws)
# Instantiate environment
myenv = Environment(name="myenv")

# Add training script to run config
runconfig = ScriptRunConfig(source_directory=".", script="train.py")

# Attach compute target to run config
runconfig.run_config.target = "local"

# Attach environment to run config
runconfig.run_config.environment = myenv

# Submit run 
run = exp.submit(runconfig)

実行を送信する前に実行構成で環境を指定しなかった場合は、自動的に既定の環境が作成されます。

環境を使用して Web サービスをデプロイするには、「モデル デプロイ」を参照してください。

パイプライン、PythonScriptStep

名前空間: azureml.pipeline.core.pipeline.Pipeline
名前空間: azureml.pipeline.steps.python_script_step.PythonScriptStep

Azure Machine Learning パイプラインは、完全な機械学習タスクの自動化されたワークフローです。 サブタスクは、パイプライン内の一連のステップとしてカプセル化されます。 Azure Machine Learning パイプラインは、Python スクリプトを呼び出すステップと同じくらいシンプルなものにすることができます。 パイプラインには、以下の機能が含まれます。

  • インポート、検証、クリーンアップ、マンジングと変換、正規化、ステージングなどのデータ準備
  • 引数のパラメーター化、ファイルパス、ログ/レポートの構成などのトレーニング構成
  • 特定のデータ サブセットの指定、さまざまなハードウェアのコンピューティング リソース、分散処理、進行状況の監視など、効率的かつ繰り返しのトレーニングと検証
  • バージョン管理、スケーリング、プロビジョニング、アクセス制御などのデプロイ
  • 任意の HTTP ライブラリから再実行するための REST エンドポイントへのパイプラインの発行

PythonScriptStep は、コンピューティング先で Python スクリプトを実行するための基本的な組み込みステップです。 スクリプト名とその他の省略可能なパラメーター (スクリプト、コンピューティング先、入力、出力の引数など) を受け取ります。 次のコードは、PythonScriptStep の単純な例です。 train.py スクリプトの例については、チュートリアルのサブセクションを参照してください。

from azureml.pipeline.steps import PythonScriptStep

train_step = PythonScriptStep(
    script_name="train.py",
    arguments=["--input", blob_input_data, "--output", output_data1],
    inputs=[blob_input_data],
    outputs=[output_data1],
    compute_target=compute_target,
    source_directory=project_folder
)

少なくとも 1 つのステップを作成した後は、ステップをまとめてリンクし、単純な自動化されたパイプラインとして発行することができます。

from azureml.pipeline.core import Pipeline

pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = experiment.submit(pipeline)

パイプライン ワークフローを構築するための包括的な例については、上級チュートリアルに従ってください。

パイプラインを作成および使用するためのパターン

Azure Machine Learning パイプラインは、Azure Machine Learning ワークスペースに関連付けられています。パイプライン ステップは、そのワークスペース内で使用可能なコンピューティング先に関連付けられています。 詳細については、こちらのワークスペースに関する記事またはこちらのコンピューティング先の説明を参照してください。

パイプライン ステップの一般的なパターンは次のとおりです。

  1. ワークスペース、コンピューティング、ストレージを指定する
  2. 以下を使用して入力データと出力データを構成する
    1. 既存の Azure データストアを使用できるようにする Dataset
    2. 型指定された表形式データをカプセル化する PipelineDataset
    3. 1 つのステップによって書き込まれ、別のステップで使用される中間ファイルまたはディレクトリ データに使用される PipelineData
  3. 1 つ以上のパイプライン ステップを定義する
  4. ワークスペースとステップを使用してパイプラインをインスタンス化する
  5. パイプラインを送信する実験を作成する
  6. 実験結果を監視する

このノートブックは、このパターンの好例です。 ジョブ (job)

Azure Machine Learning パイプラインの詳細と、特に他の種類のパイプラインとの違いについては、こちらの記事 を参照してください。

AutoMLConfig

名前空間: azureml.train.automl.automlconfig.AutoMLConfig

AutoMLConfig クラスを使用して、自動化された機械学習トレーニング用のパラメーターを構成します。 自動機械学習では、機械学習アルゴリズムとハイパーパラメーター設定の多くの組み合わせに対して反復処理が行われます。 次に、選択した精度メトリックに基づいて最適なモデルが検索されます。 構成では、以下を指定できます。

  • タスクの種類 (分類、回帰、予測)
  • アルゴリズムの反復回数と反復ごとの最大時間
  • 最適化する精度メトリック
  • ブロックリスト/許可リストのアルゴリズム
  • クロス検証の数
  • コンピューティング ターゲット
  • トレーニング データ

Note

自動機械学習を使用するには、インストール内の automl extra を使用します。

自動機械学習実験の設定の詳細なガイドと例については、チュートリアル方法に関する記事を参照してください。

次のコードは、分類モデル用の自動機械学習構成オブジェクトを構築し、実験を送信するときにそれを使用する方法を示しています。

from azureml.train.automl import AutoMLConfig

automl_config = AutoMLConfig(task="classification",
                             X=your_training_features,
                             y=your_training_labels,
                             iterations=30,
                             iteration_timeout_minutes=5,
                             primary_metric="AUC_weighted",
                             n_cross_validations=5
                            )

automl_config オブジェクトを使用して実験を送信します。

from azureml.core.experiment import Experiment

experiment = Experiment(ws, "automl_test_experiment")
run = experiment.submit(config=automl_config, show_output=True)

実験を送信した後、完了時の各反復のトレーニング精度が出力に表示されます。 実行の完了後に、AutoMLRun オブジェクト (Run クラスを拡張する) が返されます。 get_output() 関数を使用して Model オブジェクトを返すことにより、最適なモデルを取得します。

best_model = run.get_output()
y_predict = best_model.predict(X_test)

モデル デプロイ

名前空間: azureml.core.model.InferenceConfig
名前空間: azureml.core.webservice.webservice.Webservice

InferenceConfig クラスは、モデルと Web サービスのホストに必要な環境を説明した構成設定用です。

Webservice は、モデルの Web サービスを作成およびデプロイするための抽象的な親クラスです。 モデル デプロイのための準備と Web サービスのデプロイに関する詳細なガイドについては、こちらの方法に関する記事を参照してください。

モデルを Web サービスとしてデプロイするときに、環境を使用できます。 環境により、トレーニング コンピューティングと推論コンピューティングの両方で同じライブラリを使用してモデルをデプロイできる、再現可能で連続的なワークフローが実現します。 内部的には、環境は Docker イメージとして実装されます。 Microsoft から提供されているイメージを使用するか、独自のカスタム Docker イメージを使用することができます。 以前にデプロイに ContainerImage クラスを使用していた場合は、DockerSection クラスを参照して環境を使って同様のワークフローを実行します。

Web サービスをデプロイするには、環境、推論計算、スコアリング スクリプト、および登録済みモデルをデプロイ オブジェクト deploy() に結合します。

次の例では、環境 myenvを使用してトレーニングの実行を既に完了していると仮定し、Azure Container Instances にそのモデルをデプロイするものと仮定します。

from azureml.core.model import InferenceConfig, Model
from azureml.core.webservice import AciWebservice, Webservice

# Register the model to deploy
model = run.register_model(model_name = "mymodel", model_path = "outputs/model.pkl")

# Combine scoring script & environment in Inference configuration
inference_config = InferenceConfig(entry_script="score.py",
                                   environment=myenv)

# Set deployment configuration
deployment_config = AciWebservice.deploy_configuration(cpu_cores = 1,
                                                       memory_gb = 1)

# Define the model, inference, & deployment configuration and web service name and location to deploy
service = Model.deploy(workspace = ws,
                       name = "my_web_service",
                       models = [model],
                       inference_config = inference_config,
                       deployment_config = deployment_config)

この例では、小規模なテストと迅速なデプロイに最適な Azure Container Instances Web サービスを作成します。 自分のモデルを運用スケールの Web サービスとしてデプロイするには、Azure Kubernetes Service (AKS) を使用します。 詳細については、「AksCompute クラス」を参照してください。

データセット

名前空間: azureml.core.dataset.Dataset
名前空間: azureml.data.file_dataset.FileDataset
名前空間: azureml.data.tabular_dataset.TabularDataset

Dataset クラスは、Azure Machine Learning 内のデータを探索および管理するための基本リソースです。 概要統計を使用してデータを探索し、データセットを AML ワークスペースに保存して、バージョン管理と再現性の機能を利用できます。 データセットは、トレーニング中にモデルから簡単に使用できます。 使用例の詳細については、攻略ガイドのページを参照してください。

  • TabularDataset は、ファイルまたはファイルのリストを解析することで作成されたデータを表形式で表します。
  • FileDataset は、データストア内またはパブリック URL からの 1 つまたは複数のファイルを参照します。

次の例では、データストア内の 1 つのパスを指す TabularDataset を作成する方法を示します。

from azureml.core import Dataset

dataset = Dataset.Tabular.from_delimited_files(path = [(datastore, 'train-dataset/tabular/iris.csv')])
dataset.take(3).to_pandas_dataframe()

次の例では、複数のファイル URL を参照する FileDataset を作成する方法を示します。

from azureml.core.dataset import Dataset

url_paths = [
            'http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz',
            'http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz',
            'http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz',
            'http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz'
            ]
dataset = Dataset.File.from_files(path=url_paths)

次のステップ

次の手順を試して、Azure Machine Learning SDK for Python を使用する方法を学習してください。

  • チュートリアルに従って、Python 内でモデルを構築、トレーニング、デプロイする方法を学習します。

  • 左側の目次を使用して、このサイト上のリファレンス ドキュメント内のクラスとモジュールを参照します。