Experiment クラス

Azure Machine Learning で実験を作成および操作するためのメイン エントリ ポイントを表します。

実験とは、複数のモデルの実行を表す試用版のコンテナーです。

実験コンストラクター。

継承
azureml._logging.chained_identity.ChainedIdentity
Experiment
azureml.core._portal.HasExperimentPortal
Experiment

コンストラクター

Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)

パラメーター

名前 説明
workspace
必須

実験を含むワークスペース オブジェクト。

name
必須
str

新しい実験名。

kwargs
必須

キーワード引数の辞書。

workspace
必須

実験を含むワークスペース オブジェクト。

name
必須
str

新しい実験名。

kwargs
必須

キーワード引数の辞書。

_skip_name_validation
既定値: False
_id
既定値: None
_archived_time
既定値: None
_create_in_cloud
既定値: True
_experiment_dto
既定値: None

注釈

Azure Machine Learning の "実験" は、ユーザーの "仮説" を検証するために使用される "試行" のコレクションを表します。

Azure Machine Learning では、実験は Experiment クラスによって表され、試行は Run クラスによって表されます。

ワークスペースから実験を取得または作成するには、実験名を使用して実験を要求します。 実験名の先頭は英字または数字で、3 から 36 文字の長さである必要があります。使用できるのは、英字、数字、アンダースコア、ダッシュのみです。


   experiment = Experiment(workspace, "MyExperiment")

ワークスペースで実験が見つからない場合は、新しい実験が作成されます。

実験の試行を実行する方法は 2 つあります。 Jupyter Notebook で対話的に実験を行う場合は、start_logging を使用します。ソース コードまたは他の種類の構成済み試行から実験を送信する場合は、submit を使用します

どちらのメカニズムでも、Run オブジェクトが作成されます。 対話型のシナリオでは、log などのログ記録メソッドを使用して、試行レコードに測定値とメトリックを追加します。 構成済みシナリオでは、get_status などの状態メソッドを使用して、実行に関する情報を取得します。

どちらの場合も、get_metrics のようなクエリ メソッドを使用して、試行の測定値とメトリックの現在の値 (存在する場合) を取得できます。

メソッド

archive

実験をアーカイブします。

delete

ワークスペース内の実験を削除します。

from_directory

(非推奨) 指定されたパスから実験を読み込みます。

get_docs_url

このクラスのドキュメントへの URL。

get_runs

この実験の実行ジェネレーターを逆時系列順に返します。

list

ワークスペース内の実験の一覧を返します。

reactivate

アーカイブされた実験を再アクティブ化します。

refresh

クラウドから最新バージョンの実験を返します。

remove_tags

指定されたタグを実験から削除します。

set_tags

実験で一連のタグを追加または変更します。 辞書に渡されないタグは変更されません。

start_logging

対話型ログ セッションを開始し、指定された実験で対話型実行を作成します。

submit

実験を送信し、作成されたアクティブな実行を返します。

tag

文字列キーと文字列値 (省略可能) を使用して実行にタグを付けます。

archive

実験をアーカイブします。

archive()

注釈

アーカイブ後、実験は既定では一覧表示されません。 アーカイブされた実験に書き込もうとすると、同じ名前の新しいアクティブな実験が作成されます。 アーカイブされた実験は、同じ名前を持つ別のアクティブな実験がない限り、reactivate を呼び出すことで復元できます。

delete

ワークスペース内の実験を削除します。

static delete(workspace, experiment_id)

パラメーター

名前 説明
workspace
必須

実験が属するワークスペース。

experiment_id
必須

削除する実験の実験 ID。

from_directory

(非推奨) 指定されたパスから実験を読み込みます。

static from_directory(path, auth=None)

パラメーター

名前 説明
path
必須
str

実験の構成ファイルが含まれるディレクトリ。

auth

auth オブジェクト。 None の場合は、既定の Azure CLI 資格情報が使用されるか、API によって資格情報の入力が求められます。

既定値: None

戻り値

説明

実験を返します

get_docs_url

このクラスのドキュメントへの URL。

get_docs_url()

戻り値

説明
str

url

get_runs

この実験の実行ジェネレーターを逆時系列順に返します。

get_runs(type=None, tags=None, properties=None, include_children=False)

パラメーター

名前 説明
type

返された実行ジェネレーターを、指定された種類でフィルター処理します。 実行の種類の作成については、add_type_provider を参照してください。

既定値: None
tags
string または dict

"tag" または {"tag": "value"} で実行をフィルター処理します。

既定値: None
properties
string または dict

"property" または {"property": "value"} で実行をフィルター処理

既定値: None
include_children

既定では、最上位レベルの実行のみが取得されます。 すべての実行を一覧表示するには、true に設定します。

既定値: False

戻り値

説明

指定されたフィルターに一致する実行の一覧。

list

ワークスペース内の実験の一覧を返します。

static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)

パラメーター

名前 説明
workspace
必須

実験を一覧表示するワークスペース。

experiment_name
str

(省略可能) 実験をフィルター処理するための名前。

既定値: None
view_type

(省略可能) アーカイブされた実験をフィルター処理または包含するための列挙値。

既定値: ActiveOnly
tags

(省略可能) 実験をフィルター処理するためのタグ キー、またはタグ キーと値のペアの辞書。

既定値: None

戻り値

説明

実験オブジェクトの一覧。

reactivate

アーカイブされた実験を再アクティブ化します。

reactivate(new_name=None)

パラメーター

名前 説明
new_name
必須
str

サポートされなくなりました

注釈

アーカイブされた実験は、同じ名前を持つ別のアクティブな実験がない場合にのみ再アクティブ化できます。

refresh

クラウドから最新バージョンの実験を返します。

refresh()

remove_tags

指定されたタグを実験から削除します。

remove_tags(tags)

パラメーター

名前 説明
tags
必須
[str]

削除するタグ キー

set_tags

実験で一連のタグを追加または変更します。 辞書に渡されないタグは変更されません。

set_tags(tags)

パラメーター

名前 説明
tags
必須

実験オブジェクトに格納するタグ

start_logging

対話型ログ セッションを開始し、指定された実験で対話型実行を作成します。

start_logging(*args, **kwargs)

パラメーター

名前 説明
experiment
必須

実験。

outputs
必須
str

オプションで、追跡するディレクトリを出力します。出力がない場合は、False を渡します。

snapshot_directory
必須
str

(省略可能) スナップショットを作成するディレクトリ。 None に設定すると、スナップショットは作成されません。

args
必須
kwargs
必須

戻り値

説明
Run

開始された実行を返します。

注釈

start_logging では、Jupyter Notebook などのシナリオで使用するための対話型の実行が作成されます。 セッション中にログに記録されるすべてのメトリックは、実験の実行レコードに追加されます。 出力ディレクトリが指定されている場合、実行の完了時にそのディレクトリの内容が実行アーティファクトとしてアップロードされます。


   experiment = Experiment(workspace, "My Experiment")
   run = experiment.start_logging(outputs=None, snapshot_directory=".", display_name="My Run")
   ...
   run.log_metric("Accuracy", accuracy)
   run.complete()

Note

run_id は実行ごとに自動的に生成され、実験内で一意です。

submit

実験を送信し、作成されたアクティブな実行を返します。

submit(config, tags=None, **kwargs)

パラメーター

名前 説明
config
必須

送信する構成。

tags

送信する実行に追加するタグ ({"tag": "value"})。

既定値: None
kwargs
必須

構成に関する送信関数で使用される追加のパラメーター。

戻り値

説明
Run

1 つの実行。

注釈

送信とは、ローカルまたはリモートのハードウェアで試行を実行する、Azure Machine Learning プラットフォームへの非同期呼び出しのことです。 構成に応じて、送信によって実行環境が自動的に準備されたり、コードが実行されたり、ソース コードと結果が実験の実行履歴にキャプチャされたりします。

実験を送信するには、まず実験の実行方法を記述する構成オブジェクトを作成する必要があります。 構成は、必要な試行の種類によって異なります。

ローカル コンピューターから実験を送信する方法の例を次に示します。


   from azureml.core import ScriptRunConfig

   # run a trial from the train.py code in your current directory
   config = ScriptRunConfig(source_directory='.', script='train.py',
       run_config=RunConfiguration())
   run = experiment.submit(config)

   # get the url to view the progress of the experiment and then wait
   # until the trial is complete
   print(run.get_portal_url())
   run.wait_for_completion()

実行を構成する方法について詳しくは、構成の種類の詳細を参照してください。

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

Note

トレーニングの実行を送信すると、トレーニング スクリプトが含まれるディレクトリのスナップショットが作成されて、コンピューティング先に送信されます。 スナップショットは、ご利用のワークスペースにも実験の一部として保存されます。 ファイルを変更して実行を再度送信すると、変更したファイルのみがアップロードされます。

スナップショットにファイルが含まれないようにするには、.gitignore または .amlignore ファイルをディレクトリに作成して、そこにそれらのファイルを追加してください。 .amlignore ファイルでは、.gitignore ファイルと同じ構文とパターンが使用されます。 両方のファイルが存在する場合、.amlignore ファイルが優先されます。

詳細については、「スナップショット」を参照してください。

tag

文字列キーと文字列値 (省略可能) を使用して実行にタグを付けます。

tag(key, value=None)

パラメーター

名前 説明
key
必須
str

タグ キー

value
必須
str

タグの値 (省略可能)

注釈

実験のタグは、文字列キーと文字列値を使用して辞書に格納されます。 タグは、設定、更新、削除できます。 タグはユーザー向けであり、通常は実験のコンシューマーのための重要な情報が含まれます。


   experiment.tag('')
   experiment.tag('DeploymentCandidate')
   experiment.tag('modifiedBy', 'Master CI')
   experiment.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable

属性

archived_time

実験のアーカイブ時間を返します。 アクティブな実験の場合、値は None になります。

戻り値

説明
str

実験のアーカイブ時間。

id

実験の ID を返します。

戻り値

説明
str

実験の ID。

name

実験の名前を返します。

戻り値

説明
str

実験の名前。

tags

実験の変更可能な一連のタグを返します。

戻り値

説明

実験のタグ。

workspace

実験を含むワークスペースを返します。

戻り値

説明

ワークスペース オブジェクトを返します。

workspace_object

(非推奨) 実験を含むワークスペースを返します。

workspace 属性を使用します。

戻り値

説明

ワークスペース オブジェクト。