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
Workspace
必須

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

name
str
必須

新しい実験名。

kwargs
dict
既定値: 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
Workspace
必須

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

experiment_id
必須

削除する実験の実験 ID。

from_directory

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

static from_directory(path, auth=None)

パラメーター

path
str
必須

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

auth
ServicePrincipalAuthentication または InteractiveLoginAuthentication
既定値: None

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

戻り値

実験を返します

の戻り値の型 :

get_docs_url

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

get_docs_url()

パラメーター

cls
必須

戻り値

url

の戻り値の型 :

str

get_runs

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

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

パラメーター

type
string
既定値: None

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

tags
string または dict
既定値: None

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

properties
string または dict
既定値: None

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

include_children
bool
既定値: False

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

戻り値

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

の戻り値の型 :

list

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

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

パラメーター

workspace
Workspace
必須

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

experiment_name
str
既定値: None

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

view_type
ViewType
既定値: 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
dict[str]
必須

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

start_logging

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

start_logging(*args, **kwargs)

パラメーター

experiment
Experiment
必須

実験。

outputs
str
必須

(省略可能) 追跡する出力ディレクトリ。

snapshot_directory
str
必須

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

args
list
必須
kwargs
dict
必須

戻り値

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

の戻り値の型 :

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
object
必須

送信する構成。

tags
dict
既定値: None

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

kwargs
dict
必須

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

戻り値

1 つの実行。

の戻り値の型 :

Run

注釈

送信とは、ローカルまたはリモートのハードウェアで試行を実行する、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 を返します。

戻り値

実験の ID。

の戻り値の型 :

str

name

実験の名前を返します。

戻り値

実験の名前。

の戻り値の型 :

str

tags

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

戻り値

実験のタグ。

の戻り値の型 :

workspace

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

戻り値

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

の戻り値の型 :

workspace_object

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

workspace 属性を使用します。

戻り値

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

の戻り値の型 :