Experiment クラス
Azure Machine Learning で実験を作成して操作するための主要なエントリ ポイントを表します。
実験は、複数のモデルの実行を表す 試用版 のコンテナーです。
実験コンストラクター。
コンストラクター
Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
実験を含むワークスペース オブジェクト。 |
name
必須
|
実験名。 |
kwargs
必須
|
キーワード引数のディクショナリ。 |
workspace
必須
|
実験を含むワークスペース オブジェクト。 |
name
必須
|
実験名。 |
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
必須
|
実験構成ファイルを含むディレクトリ。 |
auth
|
認証オブジェクト。 [なし] の場合、既定の Azure CLI 資格情報が使用されるか、API によって資格情報の入力が求められます。 規定値: None
|
戻り値
型 | 説明 |
---|---|
実験を返します |
get_docs_url
get_runs
この実験の実行のジェネレーターを、時系列の逆順で返します。
get_runs(type=None, tags=None, properties=None, include_children=False)
パラメーター
名前 | 説明 |
---|---|
type
|
指定された型で実行の返されたジェネレーターをフィルター処理します。 実行の種類の作成については、 add_type_provider を参照してください。 規定値: None
|
tags
|
"tag" または {"tag": "value"} で実行をフィルター処理します。 規定値: None
|
properties
|
"property" または {"property": "value"} で実行をフィルター処理する 規定値: None
|
include_children
|
既定では、最上位レベルの実行のみをフェッチします。 すべての実行を一覧表示するには、true に設定します。 規定値: False
|
戻り値
型 | 説明 |
---|---|
指定されたフィルターに一致する実行の一覧。 |
list
ワークスペース内の実験の一覧を返します。
static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
実験の一覧を表示するワークスペース。 |
experiment_name
|
実験をフィルター処理する省略可能な名前。 規定値: None
|
view_type
|
アーカイブされた実験をフィルター処理または含めるオプションの列挙値。 規定値: ActiveOnly
|
tags
|
実験をフィルター処理するタグ キーまたはタグ キーと値のペアのディクショナリ (省略可能)。 規定値: None
|
戻り値
型 | 説明 |
---|---|
実験オブジェクトの一覧。 |
reactivate
アーカイブされた実験を再アクティブ化します。
reactivate(new_name=None)
パラメーター
名前 | 説明 |
---|---|
new_name
必須
|
サポートされなくなりました |
注釈
アーカイブされた実験は、同じ名前の別のアクティブな実験がない場合にのみ再アクティブ化できます。
refresh
クラウドから実験の最新バージョンを返します。
refresh()
remove_tags
set_tags
start_logging
対話型ログ セッションを開始し、指定した実験で対話型の実行を作成します。
start_logging(*args, **kwargs)
パラメーター
名前 | 説明 |
---|---|
experiment
必須
|
実験。 |
outputs
必須
|
追跡するディレクトリを出力するオプション。出力がない場合は、False を渡します。 |
snapshot_directory
必須
|
スナップショットを取得するオプションのディレクトリ。 [なし] に設定すると、スナップショットは作成されません。 |
args
必須
|
|
kwargs
必須
|
|
戻り値
型 | 説明 |
---|---|
開始された実行を返します。 |
注釈
start_logging は、Jupyter Notebooks などのシナリオで使用する対話型の実行を作成します。 セッション中にログに記録されたすべてのメトリックは、実験の実行レコードに追加されます。 出力ディレクトリが指定されている場合、そのディレクトリの内容は、実行の完了時に実行成果物としてアップロードされます。
experiment = Experiment(workspace, "My Experiment")
run = experiment.start_logging(outputs=None, snapshot_directory=".", display_name="My Run")
...
run.log_metric("Accuracy", accuracy)
run.complete()
注
run_idは、実行ごとに自動的に生成され、実験内で一意です。
submit
実験を送信し、アクティブな作成された実行を返します。
submit(config, tags=None, **kwargs)
パラメーター
名前 | 説明 |
---|---|
config
必須
|
送信する構成。 |
tags
|
送信された実行に追加するタグ {"tag": "value"}。 規定値: None
|
kwargs
必須
|
構成の送信関数で使用される追加のパラメーター。 |
戻り値
型 | 説明 |
---|---|
セクション |
注釈
Submit は、ローカルまたはリモートのハードウェアで試用版を実行するための Azure Machine Learning プラットフォームへの非同期呼び出しです。 構成に応じて、submit によって実行環境が自動的に準備され、コードが実行され、ソース コードと結果が実験の実行履歴にキャプチャされます。
実験を送信するには、まず、実験の実行方法を説明する構成オブジェクトを作成する必要があります。 構成は、必要な試用版の種類によって異なります。
ローカル コンピューターから実験を送信する方法の例を次に示します。
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()
実行を構成する方法の詳細については、構成の種類の詳細を参照してください。
azureml.train.automl.automlconfig.AutoMLConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
注
トレーニング実行を送信すると、トレーニング スクリプトを含むディレクトリのスナップショットが作成され、コンピューティング 先に送信されます。 スナップショットは、ご利用のワークスペースにも実験の一部として保存されます。 ファイルを変更して実行を再度送信すると、変更されたファイルのみがアップロードされます。
ファイルがスナップショットに含まれるのを防ぐには、ディレクトリに .gitignore または .amlignore ファイルを作成し、そのファイルを追加します。 .amlignore ファイルは、.gitignore ファイルと同じ構文とパターンを使用します。 両方のファイルが存在する場合は、 .amlignore ファイルが優先されます。
詳細については、「スナップショット」を参照してください。
tag
実験に文字列キーと省略可能な文字列値をタグ付けします。
tag(key, value=None)
パラメーター
名前 | 説明 |
---|---|
key
必須
|
タグ キー |
value
必須
|
タグの省略可能な値 |
注釈
実験のタグは、文字列キーと文字列値を含むディクショナリに格納されます。 タグは設定、更新、削除できます。 タグはユーザー向けであり、通常は実験のコンシューマー向けの意味情報が含まれています。
experiment.tag('')
experiment.tag('DeploymentCandidate')
experiment.tag('modifiedBy', 'Master CI')
experiment.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable