Run クラス
すべての Azure Machine Learning の実験の実行に関する基底クラスを定義します。
"実行" は、実験の 1 回の試験を表します。 実行を使用して、試験の非同期実行を監視し、メトリックをログに記録し、試験の出力を保存します。さらに、結果を分析し、試験によって生成された成果物にアクセスします。
Run オブジェクトは、HyperDrive の実行、パイプライン実行、AutoML の実行など、Azure Machine Learning のさまざまなシナリオでモデルをトレーニングするスクリプトを送信するときに作成されます。 Experiment クラスで submit または start_logging を指定する場合も、Run オブジェクトが作成されます。
実験と実行の使用を開始するには、以下を参照してください
実行を管理する方法に関するページ
Run オブジェクトを初期化します。
- 継承
-
azureml._run_impl.run_base._RunBaseRun
コンストラクター
Run(experiment, run_id, outputs=None, **kwargs)
パラメーター
名前 | 説明 |
---|---|
experiment
必須
|
実行が含まれている実験。 |
run_id
必須
|
実行の ID。 |
outputs
|
追跡対象の出力。 規定値: None
|
_run_dto
必須
|
<xref:azureml._restclient.models.run_dto.RunDto>
内部使用のみです。 |
kwargs
必須
|
追加の構成パラメーターの辞書。 |
experiment
必須
|
実行が含まれている実験。 |
run_id
必須
|
実行の ID。 |
outputs
必須
|
追跡対象の出力。 |
kwargs
必須
|
追加の構成パラメーターの辞書。 |
注釈
"実行" は、実験の 1 回の試行を表します。 Run オブジェクトは、試行の非同期実行の監視、メトリックのログ記録、試行の出力の保存、結果の分析、試行によって生成された成果物へのアクセスに使われます。
実験コード内で Run を使用して、メトリックと成果物を実行履歴サービスに記録します。
Run は、進行状況をモニターし、メトリックと生成された結果に対してクエリを実行して分析するために、実験外で使用されます。
Run の機能には次が含まれます。
メトリックとデータを保存および取得する
ファイルのアップロードとダウンロードを行う
過去の実行を簡単に検索するためにタグと子階層を使用する
保存されたモデル ファイルを運用可能なモデルとして登録する
実行のプロパティを保存、変更、取得する
get_context メソッドを使用してリモート環境から現在の実行を読み込む
再現性のためにファイルまたはディレクトリの効率的なスナップショットを作成する
このクラスでは、次のシナリオで Experiment を処理します。
submit を使用して、コードを実行して実行を作成する
start_logging を使用して、ノートブックで対話的に実行を作成する
実験内でメトリックをログに記録して成果物をアップロードする (log の使用時など)
実験結果の分析時にメトリックを読み取って成果物をダウンロードする (get_metrics の使用時など)
実行を送信するには、実験の実行方法を記述する構成オブジェクトを作成します。 使用できるさまざまな構成オブジェクトの例を次に示します。
azureml.train.automl.automlconfig.AutoMLConfig
azureml.train.hyperdrive.HyperDriveConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
実験のトレーニング中に、次のメトリックを実行に追加できます。
スカラー
log を使用して、指定した名前で実行に数値または文字列値を記録します。 実行にメトリックを記録すると、メトリックは実験の実行レコードに格納されます。 同じメトリックを実行内で複数回記録でき、結果はそのメトリックのベクターと見なされます。
例 :
run.log("accuracy", 0.95)
一覧
log_list を使って、指定した名前で実行に値のリストを記録します。
例 :
run.log_list("accuracies", [0.6, 0.7, 0.87])
行
log_row を使うと、
kwargs
で記述されているように、複数の列を含むメトリックが作成されます。 各名前付きパラメーターにより、指定した値の列が生成されます。log_row
を 1 回呼び出すと任意のタプルを記録でき、ループ内で複数回呼び出すと完全なテーブルを生成できます。例 :
run.log_row("Y over X", x=1, y=0.4)
テーブル
log_table を使って、指定した名前で実行に辞書オブジェクトを記録します。
例 :
run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})
Image
実行レコードにイメージを記録します。 log_image を使ってイメージ ファイルに記録するか、または matplotlib を使って実行にプロットします。 これらのイメージは実行レコードで表示して比較できます。
例 :
run.log_image("ROC", path)
メソッド
add_properties |
変更不可のプロパティを実行に追加します。 タグとプロパティ (両方とも dict[str, str]) の違いは、変更可能か変更不可かです。 プロパティは変更不可であるため、プロパティによって監査目的の恒久的な記録が作成されます。 タグは変更可能です。 タグとプロパティの処理の詳細については、「実行のタグ付けおよび検索」を参照してください。 |
add_type_provider |
実行履歴に保存されているカスタムの実行の種類の拡張フック。 |
cancel |
実行をキャンセル済みとしてマークします。 cancel_uri フィールドが設定されてジョブが関連付けられている場合は、そのジョブも終了します。 |
child_run |
子の実行を作成します。 |
clean |
実行構成で指定したターゲットに対して、現在の実行に対応するファイルを削除します。 |
complete |
タスク キューが処理されるまで待機します。 その後、実行が完了とマークされます。 これは通常、対話型ノートブックのシナリオで使用されます。 |
create_children |
1 つまたは複数の子の実行を作成します。 |
download_file |
ストレージから関連ファイルをダウンロードします。 |
download_files |
指定したストレージのプレフィックス (フォルダー名)、またはプレフィックスを指定していない場合はコンテナー全体からファイルをダウンロードします。 |
fail |
実行を失敗としてマークします。 オプションで、 |
flush |
タスク キューが処理されるまで待機します。 |
get |
実行 ID を使用して、このワークスペースの実行を取得します。 |
get_all_logs |
実行に関するすべてのログをディレクトリにダウンロードします。 |
get_children |
指定したフィルターで選択される現在の実行のすべての子を取得します。 |
get_context |
現在のサービス コンテキストを返します。 このメソッドは、メトリックのログへの記録とファイルのアップロードに関する現在のサービス コンテキストを取得するために使用します。
|
get_detailed_status |
実行の最新の状態を取り込みます。 実行の状態が "Queued" の場合は、詳細が表示されます。 |
get_details |
実行の定義、状態情報、現在のログ ファイルなどの詳細を取得します。 |
get_details_with_logs |
ログ ファイルのコンテンツを含む実行の状態を返します。 |
get_environment |
この実行で使用された環境定義を取得します。 |
get_file_names |
実行に関連して保存されているファイルをリストします。 |
get_metrics |
実行に対して記録されたメトリックを取得します。
|
get_properties |
サービスから実行の最新のプロパティを取り込みます。 |
get_secret |
実行のコンテキストからシークレット値を取得します。 指定した名前のシークレット値を取得します。 シークレット名は、ワークスペースに関連付けられた Azure Key Vault に保存される値を参照します。 シークレットの処理の例については、「トレーニングの実行でシークレットを使用する」を参照してください。 |
get_secrets |
指定したシークレット名のリストを対象にしてシークレット値を取得します。 指定した名前のリストを対象にして見つかったシークレットと見つからないシークレットの辞書を取得します。 各シークレット名は、ワークスペースに関連付けられた Azure Key Vault に保存される値を参照します。 シークレットの処理の例については、「トレーニングの実行でシークレットを使用する」を参照してください。 |
get_snapshot_id |
最新のスナップショット ID を取得します。 |
get_status |
実行の最新の状態を取り込みます。 一般的には "Running"、"Completed"、"Failed" などの値が返されます。 |
get_submitted_run |
非推奨。 get_context を使用してください。 この実験に関する送信済みの実行を取得します。 |
get_tags |
実行の変更可能なタグの最新セットをサービスから取り込みます。 |
list |
省略可能なフィルターで指定される、実験内の実行のリストを取得します。 |
list_by_compute |
省略可能なフィルターで指定される、コンピューティング内の実行のリストを取得します。 |
log |
指定した名前で実行にメトリック値を記録します。 |
log_accuracy_table |
正確性テーブルを成果物ストアに記録します。 正確性テーブル メトリックは、多重使用される非スカラー メトリックで、予測確率の領域にわたり連続して変化する複数の型の折れ線グラフを生成するために使用できます。 これらのグラフの例として、ROC、適合率 - 再現率、リフト曲線などがあります。 正確性テーブルの計算は、ROC 曲線の計算に似ています。 ROC 曲線には、真陽性率と擬陽性率がさまざまな確率のしきい値で保存されます。 正確性テーブルには、真陽性、擬陽性、真陰性、偽陰性の実際の数が、多くの確率のしきい値で保存されます。 しきい値を選択する方法には、"確率" と "パーセンタイル" の 2 つの方法があります。これらは、予測確率の領域からどのようにサンプリングされるかが異なります。 確率のしきい値は、0 と 1 の間の等間隔のしきい値です。 NUM_POINTS が 5 の場合、確率のしきい値は [0.0, 0.25, 0.5, 0.75, 1.0] になります。 パーセンタイルのしきい値は、予測確率の分布に従って間隔が決まります。 各しきい値は、確率のしきい値におけるデータのパーセンタイルに対応します。 たとえば、NUM_POINTS が 5 の場合、最初のしきい値は 0 番目のパーセンタイル、2 つ目は 25 番目のパーセンタイル、3 つ目は 50 番目の順となります。 確率テーブルとパーセンタイル テーブルはどちらも 3D リストで、最初のディメンションはクラス ラベルを表し、2 番目のディメンションは (NUM_POINTS 値でスケーリングされた) 1 つのしきい値におけるサンプルを表し、3 番目のディメンションには常に TP、FP、TN、FN、4 つの値がこの順序であります。 混合値 (TP、FP、TN、FN) は、一対残りの戦略を使用して計算されます。 詳しくは、次のリンクを参照してください。https://en.wikipedia.org/wiki/Multiclass_classification N = 検証データセット内のサンプル数 (例では 200)。M = しきい値の数 = 確率空間から取得されたサンプル数 (例では 5)。C = 完全なデータセット内のクラス数 (例では 3) 正確性テーブルのインバリアントの一部を以下に示します。
注: M は任意の値にすることができ、グラフの解像度をコントロールします。これは、データセットに依存せず、メトリックの計算時に定義され、記憶域、評価時間、解決方法をトレード オフします。 クラス ラベルは文字列である必要があり、混同値は整数にする必要があり、しきい値は浮動にする必要があります。 |
log_confusion_matrix |
混同行列を成果物ストアに記録します。 これにより、sklearn 混同行列をラップするラッパーがログに記録されます。 メトリック データには、クラス ラベルと、行列自体の 2D リストが含まれています。 メトリックの計算方法の詳細については、次のリンクを参照してください。https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html |
log_image |
実行レコードにイメージ メトリックを記録します。 |
log_list |
指定した名前で実行にメトリック値のリストを記録します。 |
log_predictions |
予測を成果物ストアに記録します。 回帰タスクに関する真の目標値の分布と予測値の分布の比較に使用できるメトリック スコアがログに記録されます。 予測はビン分割され、折れ線グラフの誤差範囲に対して標準偏差が計算されます。 |
log_residuals |
残差を成果物ストアに記録します。 回帰タスクに関する残差のヒストグラムの表示に必要なデータがログに記録されます。 残差は予測値 - 実際の値です。 カウントの数よりも 1 つ多くエッジが必要です。 カウントとエッジを使用してヒストグラムを表現する例については、numpy ヒストグラムのドキュメントを参照してください。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html |
log_row |
指定した名前で実行に行メトリックを記録します。 |
log_table |
指定した名前で実行にテーブル メトリックを記録します。 |
register_model |
運用化のモデルを登録します。 |
remove_tags |
この実行の変更可能なタグのリストを削除します。 |
restore_snapshot |
スナップショットを ZIP ファイルとして復元します。 ZIP へのパスを返します。 |
set_tags |
実行にタグのセットを追加したり、実行のタグのセットを変更したりします。 辞書に渡されないタグは変更されません。 単純な文字列のタグを追加することもできます。 これらのタグがタグ辞書にキーとして表示されると、値は None になります。 詳細については、「実行のタグ付けおよび検索」を参照してください。 |
start |
実行を開始としてマークします。 これは通常、別のアクターが実行を作成しているときの高度なシナリオで使われます。 |
submit_child |
実験を送信し、アクティブな子の実行を返します。 |
tag |
文字列キーと省略可能な文字列値で実行にタグを付けます。 |
take_snapshot |
入力ファイルまたはフォルダーのスナップショットを保存します。 |
upload_file |
実行レコードにファイルをアップロードします。 |
upload_files |
実行レコードにファイルをアップロードします。 |
upload_folder |
指定したプレフィックス名に、指定したフォルダーをアップロードします。 |
wait_for_completion |
この実行が完了するまで待機します。 待機後、状態オブジェクトを返します。 |
add_properties
変更不可のプロパティを実行に追加します。
タグとプロパティ (両方とも dict[str, str]) の違いは、変更可能か変更不可かです。 プロパティは変更不可であるため、プロパティによって監査目的の恒久的な記録が作成されます。 タグは変更可能です。 タグとプロパティの処理の詳細については、「実行のタグ付けおよび検索」を参照してください。
add_properties(properties)
パラメーター
名前 | 説明 |
---|---|
properties
必須
|
実行オブジェクトに保存されている非表示のプロパティ。 |
add_type_provider
実行履歴に保存されているカスタムの実行の種類の拡張フック。
static add_type_provider(runtype, run_factory)
パラメーター
名前 | 説明 |
---|---|
runtype
必須
|
ファクトリを呼び出す対象の Run.type の値。 例として 'hyperdrive' や 'azureml.scriptrun' などがありますが、カスタム型を使用して拡張できます。 |
run_factory
必須
|
<xref:function>
リストの実行時に呼び出される (Experiment, RunDto) -> Run シグネチャのある関数。 |
cancel
実行をキャンセル済みとしてマークします。
cancel_uri フィールドが設定されてジョブが関連付けられている場合は、そのジョブも終了します。
cancel()
child_run
子の実行を作成します。
child_run(name=None, run_id=None, outputs=None)
パラメーター
名前 | 説明 |
---|---|
name
|
子の実行の名前 (省略可能)。通常は "パーツ" の名前を指定します。 規定値: None
|
run_id
|
子の実行 ID (省略可能)。省略すると、自動生成されます。 通常、このパラメーターは設定されません。 規定値: None
|
outputs
|
子に対して追跡する出力ディレクトリ (省略可能)。 規定値: None
|
戻り値
型 | 説明 |
---|---|
子の実行。 |
注釈
これは、実行のパーツをサブセクションに分けるために使用されます。 これは、分ける対象の実行の "パーツ" を識別できるようにするために行ったり、サブプロセスのやり取り全体で独立したメトリックをキャプチャするために行ったりできます。
子の実行に関する出力ディレクトリが設定されている場合、子が完了すると、そのディレクトリのコンテンツが子の実行レコードにアップロードされます。
clean
complete
タスク キューが処理されるまで待機します。
その後、実行が完了とマークされます。 これは通常、対話型ノートブックのシナリオで使用されます。
complete(_set_status=True)
パラメーター
名前 | 説明 |
---|---|
_set_status
|
追跡に関する状態のイベントを送信するかどうかを示します。 規定値: True
|
create_children
1 つまたは複数の子の実行を作成します。
create_children(count=None, tag_key=None, tag_values=None)
パラメーター
名前 | 説明 |
---|---|
count
|
作成する子の数 (省略可能)。 規定値: None
|
tag_key
|
作成されるすべての子の Tags エントリを設定するためのキー (省略可能)。 規定値: None
|
tag_Values
必須
|
作成される実行のリストの、Tags[tag_key] にマップされる値のリスト (省略可能)。 |
tag_values
|
規定値: None
|
戻り値
型 | 説明 |
---|---|
子の実行のリスト。 |
注釈
count
パラメーターを指定するか、または tag_key
パラメーターと tag_values
パラメーターの両方を指定する必要があります。
download_file
ストレージから関連ファイルをダウンロードします。
download_file(name, output_file_path=None, _validate_checksum=False)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
ダウンロードされる成果物の名前。 |
output_file_path
必須
|
成果物を保存する場所のローカル パス。 |
download_files
指定したストレージのプレフィックス (フォルダー名)、またはプレフィックスを指定していない場合はコンテナー全体からファイルをダウンロードします。
download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)
パラメーター
名前 | 説明 |
---|---|
prefix
必須
|
すべての成果物のダウンロード元のコンテナー内の filepath プレフィックス。 |
output_directory
必須
|
すべての成果物のパスでプレフィックスとして使用されるディレクトリ (省略可能)。 |
output_paths
必須
|
[str]
ダウンロードした成果物を保存する filepath (省略可能)。 一意であり、パスの長さと一致している必要があります。 |
batch_size
必須
|
バッチあたりのダウンロードするファイルの数。 既定値は 100 個のファイルです。 |
append_prefix
必須
|
指定したプレフィックスを最終出力ファイル パスから追加するかどうかを示すフラグ (省略可能)。 False の場合、プレフィックスは出力ファイル パスから削除されます。 |
timeout_seconds
必須
|
ファイルをダウンロードするためのタイムアウト。 |
fail
実行を失敗としてマークします。
オプションで、error_details
にメッセージまたは例外が渡される実行のエラー プロパティを設定します。
fail(error_details=None, error_code=None, _set_status=True)
パラメーター
名前 | 説明 |
---|---|
error_details
|
str または
BaseException
エラーの詳細 (省略可能)。 規定値: None
|
error_code
|
エラー分類のエラー コード (省略可能)。 規定値: None
|
_set_status
|
追跡に関する状態のイベントを送信するかどうかを示します。 規定値: True
|
flush
タスク キューが処理されるまで待機します。
flush(timeout_seconds=300)
パラメーター
名前 | 説明 |
---|---|
timeout_seconds
|
タスク キューが処理されるまでの待機時間 (秒)。 規定値: 300
|
get
実行 ID を使用して、このワークスペースの実行を取得します。
static get(workspace, run_id)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
実行が含まれているワークスペース。 |
run_id
必須
|
実行 ID。 |
戻り値
型 | 説明 |
---|---|
送信された実行。 |
get_all_logs
実行に関するすべてのログをディレクトリにダウンロードします。
get_all_logs(destination=None)
パラメーター
名前 | 説明 |
---|---|
destination
|
ログの保存先のパス。 指定しない場合、プロジェクト ディレクトリ内に run ID という名前のディレクトリが作成されます。 規定値: None
|
戻り値
型 | 説明 |
---|---|
ダウンロードされたログの名前のリスト。 |
get_children
指定したフィルターで選択される現在の実行のすべての子を取得します。
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
パラメーター
名前 | 説明 |
---|---|
recursive
|
すべての子孫を通じて再帰処理するかどうかを示します。 規定値: False
|
tags
|
指定した場合、指定した "tag" または {"tag": "value"} に一致する実行が返されます。 規定値: None
|
properties
|
指定した場合、指定した "property" または {"property": "value"} に一致する実行が返されます。 規定値: None
|
type
|
指定した場合、この型に一致する実行が返されます。 規定値: None
|
status
|
指定した場合、指定した "status" の状態の実行が返されます。 規定値: None
|
_rehydrate_runs
|
元の型の実行と基本 Run の実行のどちらのインスタンスを作成するかを示します。 規定値: True
|
戻り値
型 | 説明 |
---|---|
Run オブジェクトのリスト。 |
get_context
現在のサービス コンテキストを返します。
このメソッドは、メトリックのログへの記録とファイルのアップロードに関する現在のサービス コンテキストを取得するために使用します。
allow_offline
が True (既定値) の場合、Run オブジェクトに対するアクションは標準出力に出力されます。
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
パラメーター
名前 | 説明 |
---|---|
cls
必須
|
クラス メソッドを示します。 |
allow_offline
|
SDK を使用してジョブを送信せずにトレーニング スクリプトをローカルでテストできるように、サービス コンテキストをオフライン モードに戻せるようにします。 既定では true です。 規定値: True
|
kwargs
必須
|
追加のパラメーターの辞書。 |
used_for_context_manager
|
規定値: False
|
戻り値
型 | 説明 |
---|---|
送信された実行。 |
注釈
一般的にこの関数は、experiment.submit() での実行のために送信されるスクリプト内の認証済みの Run オブジェクトを取得するために使用されます。 この実行オブジェクトは、Azure Machine Learning Services と通信するための認証済みのコンテキストと、メトリック、ファイル (成果物)、モデルが含まれる概念コンテナーの両方です。
run = Run.get_context() # allow_offline=True by default, so can be run locally as well
...
run.log("Accuracy", 0.98)
run.log_row("Performance", epoch=e, error=err)
get_detailed_status
実行の最新の状態を取り込みます。 実行の状態が "Queued" の場合は、詳細が表示されます。
get_detailed_status()
戻り値
型 | 説明 |
---|---|
最新の状態と詳細 |
注釈
status: 実行の現在の状態。 get_status() から返される値と同じ値。
details: 現在の状態に関する詳細情報。
run = experiment.submit(config)
details = run.get_detailed_status()
# details = {
# 'status': 'Queued',
# 'details': 'Run requested 1 node(s). Run is in pending status.',
# }
get_details
実行の定義、状態情報、現在のログ ファイルなどの詳細を取得します。
get_details()
戻り値
型 | 説明 |
---|---|
実行に関する詳細を返します |
注釈
返される辞書には、次のキーと値のペアが含まれます。
runId: この実行の ID。
target
status: 実行の現在の状態。 get_status() から返される値と同じ値。
startTimeUtc: この実行が開始された UTC 時間 (ISO8601 形式)。
endTimeUtc: この実行が終了 (Completed または Failed) した UTC 時間 (ISO8601 形式)。
実行がまだ進行中の場合、このキーは存在しません。
properties: 実行に関連付けられた変更不可のキーと値のペア。 既定のプロパティには、実行のスナップショット ID と、実行の作成元の Git リポジトリに関する情報 (存在する場合) が含まれます。 add_properties を使用して、実行に追加のプロパティを追加できます。
inputDatasets: 実行に関連付けられている入力データセット。
outputDatasets: 実行に関連付けられている出力データセット。
logFiles
submittedBy
run = experiment.start_logging()
details = run.get_details()
# details = {
# 'runId': '5c24aa28-6e4a-4572-96a0-fb522d26fe2d',
# 'target': 'sdk',
# 'status': 'Running',
# 'startTimeUtc': '2019-01-01T13:08:01.713777Z',
# 'endTimeUtc': '2019-01-01T17:15:65.986253Z',
# 'properties': {
# 'azureml.git.repository_uri': 'https://example.com/my/git/repo',
# 'azureml.git.branch': 'master',
# 'azureml.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'azureml.git.dirty': 'True',
# 'mlflow.source.git.repoURL': 'https://example.com/my/git/repo',
# 'mlflow.source.git.branch': 'master',
# 'mlflow.source.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'ContentSnapshotId': 'b4689489-ce2f-4db5-b6d7-6ad11e77079c'
# },
# 'inputDatasets': [{
# 'dataset': {'id': 'cdebf245-701d-4a68-8055-41f9cf44f298'},
# 'consumptionDetails': {
# 'type': 'RunInput',
# 'inputName': 'training-data',
# 'mechanism': 'Mount',
# 'pathOnCompute': '/mnt/datasets/train'
# }
# }],
# 'outputDatasets': [{
# 'dataset': {'id': 'd04e8a19-1caa-4b1f-b318-4cbff9af9615'},
# 'outputType': 'RunOutput',
# 'outputDetails': {
# 'outputName': 'training-result'
# }
# }],
# 'runDefinition': {},
# 'logFiles': {},
# 'submittedBy': 'Alan Turing'
# }
get_details_with_logs
get_environment
get_file_names
get_metrics
実行に対して記録されたメトリックを取得します。
recursive
が True (既定では False) の場合は、指定した実行のサブツリー内の実行に関するメトリックを取り込みます。
get_metrics(name=None, recursive=False, run_type=None, populate=False)
パラメーター
名前 | 説明 |
---|---|
name
|
メトリックの名前。 規定値: None
|
recursive
|
すべての子孫を通じて再帰処理するかどうかを示します。 規定値: False
|
run_type
|
規定値: None
|
populate
|
メトリックにリンクされている外部データのコンテンツを取り込むかどうかを示します。 規定値: False
|
戻り値
型 | 説明 |
---|---|
ユーザー メトリックが含まれる辞書。 |
注釈
run = experiment.start_logging() # run id: 123
run.log("A", 1)
with run.child_run() as child: # run id: 456
child.log("A", 2)
metrics = run.get_metrics()
# metrics = { 'A': 1 }
metrics = run.get_metrics(recursive=True)
# metrics = { '123': { 'A': 1 }, '456': { 'A': 2 } } note key is runId
get_properties
サービスから実行の最新のプロパティを取り込みます。
get_properties()
戻り値
型 | 説明 |
---|---|
実行のプロパティ。 |
注釈
プロパティは、時間、実行日、ユーザー、add_properties メソッドにより追加されたカスタム プロパティなどの、システムによって生成される変更不可の情報です。 詳細については、「実行のタグ付けおよび検索」を参照してください。
ジョブを Azure Machine Learning に送信するとき、ソース ファイルがローカル Git リポジトリに保存されていれば、リポジトリに関する情報がプロパティとして保存されます。 これらの git プロパティは、実行の作成時または Experiment.submit の呼び出し時に追加されます。 git プロパティの詳細については、「Azure Machine Learning との Git 統合」を参照してください。
get_secret
実行のコンテキストからシークレット値を取得します。
指定した名前のシークレット値を取得します。 シークレット名は、ワークスペースに関連付けられた Azure Key Vault に保存される値を参照します。 シークレットの処理の例については、「トレーニングの実行でシークレットを使用する」を参照してください。
get_secret(name)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
返すシークレットのシークレット名。 |
戻り値
型 | 説明 |
---|---|
シークレット値。 |
get_secrets
指定したシークレット名のリストを対象にしてシークレット値を取得します。
指定した名前のリストを対象にして見つかったシークレットと見つからないシークレットの辞書を取得します。 各シークレット名は、ワークスペースに関連付けられた Azure Key Vault に保存される値を参照します。 シークレットの処理の例については、「トレーニングの実行でシークレットを使用する」を参照してください。
get_secrets(secrets)
パラメーター
名前 | 説明 |
---|---|
secrets
必須
|
シークレット値を返すシークレットの名前のリスト。 |
戻り値
型 | 説明 |
---|---|
見つかったシークレットと見つからないシークレットの辞書を返します。 |
get_snapshot_id
get_status
実行の最新の状態を取り込みます。
一般的には "Running"、"Completed"、"Failed" などの値が返されます。
get_status()
戻り値
型 | 説明 |
---|---|
最新の状態。 |
注釈
NotStarted - これは、クライアント側の Run オブジェクトがクラウド送信前になる一時的な状態です。
Starting - クラウドで Run が処理され始めています。 この時点で、呼び出し元に実行 ID があります。
Provisioning - 指定したジョブの送信に関するオンデマンド コンピューティングが作成される場合に返されます。
Preparing - 次の実行環境を準備しています。
Docker イメージのビルド
Conda 環境のセットアップ
Queued - コンピューティング先でジョブがキューに入れられています。 たとえば、BatchAI ではジョブはキューに入れられた状態になります
要求されたノードの準備が整うのを待機しています。
Running - コンピューティング先でジョブの実行が開始されました。
Finalizing - ユーザー コードが完了し、実行は後処理のステージになっています。
CancelRequested - ジョブに対してキャンセルが要求されました。
Completed - 実行は正常に完了しました。 ユーザー コードと実行の両方が含まれます
後処理のステージ。
Failed - 実行に失敗しました。 通常は実行の Error プロパティで、理由に関する詳細が提供されます。
Canceled - キャンセル要求に従い、実行が現在正常にキャンセルされたことを示します。
NotResponding - ハートビートが有効になっている実行の場合、最近ハートビートが送信されていません。
run = experiment.submit(config)
while run.get_status() not in ['Completed', 'Failed']: # For example purposes only, not exhaustive
print('Run {} not in terminal state'.format(run.id))
time.sleep(10)
get_submitted_run
get_tags
list
省略可能なフィルターで指定される、実験内の実行のリストを取得します。
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
パラメーター
名前 | 説明 |
---|---|
experiment
必須
|
実行が含まれている実験。 |
type
|
指定した場合、指定した型に一致する実行が返されます。 規定値: None
|
tags
|
指定した場合、指定した "tag" または {"tag": "value"} に一致する実行が返されます。 規定値: None
|
properties
|
指定した場合、指定した "property" または {"property": "value"} に一致する実行が返されます。 規定値: None
|
status
|
指定した場合、指定した "status" の状態の実行が返されます。 規定値: None
|
include_children
|
True に設定すると、最上位レベルの実行だけでなく、すべての実行が取り込まれます。 規定値: False
|
_rehydrate_runs
|
True に設定する (既定)、と、登録済みのプロバイダーを使用して、ベースの Run ではなくその型のオブジェクトを再インスタンス化します。 規定値: True
|
戻り値
型 | 説明 |
---|---|
実行のリスト。 |
注釈
次のコード例は、list
メソッドの使用法の一部を示しています。
favorite_completed_runs = Run.list(experiment, status='Completed', tags='favorite')
all_distinct_runs = Run.list(experiment)
and_their_children = Run.list(experiment, include_children=True)
only_script_runs = Run.list(experiment, type=ScriptRun.RUN_TYPE)
list_by_compute
省略可能なフィルターで指定される、コンピューティング内の実行のリストを取得します。
static list_by_compute(compute, type=None, tags=None, properties=None, status=None)
パラメーター
名前 | 説明 |
---|---|
compute
必須
|
実行が含まれるコンピューティング。 |
type
|
指定した場合、指定した型に一致する実行が返されます。 規定値: None
|
tags
|
指定した場合、指定した "tag" または {"tag": "value"} に一致する実行が返されます。 規定値: None
|
properties
|
指定した場合、指定した "property" または {"property": "value"} に一致する実行が返されます。 規定値: None
|
status
|
指定した場合、指定した "status" の状態の実行が返されます。 使用できる値は、"Running" と "Queued" だけです。 規定値: None
|
戻り値
型 | 説明 |
---|---|
<xref:builtin.generator>
|
~_restclient.models.RunDto のジェネレーター |
log
指定した名前で実行にメトリック値を記録します。
log(name, value, description='', step=None)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
メトリックの名前。 |
value
必須
|
サービスに投稿される値。 |
description
必須
|
メトリックの説明 (省略可能)。 |
step
|
メトリック内の値の順序を指定する軸 (省略可能)。 規定値: None
|
注釈
実行にメトリックを記録すると、メトリックは実験の実行レコードに格納されます。 同じメトリックを実行内で複数回記録でき、結果はそのメトリックのベクターと見なされます。 メトリックに対して step を指定する場合は、すべての値について指定する必要があります。
log_accuracy_table
正確性テーブルを成果物ストアに記録します。
正確性テーブル メトリックは、多重使用される非スカラー メトリックで、予測確率の領域にわたり連続して変化する複数の型の折れ線グラフを生成するために使用できます。 これらのグラフの例として、ROC、適合率 - 再現率、リフト曲線などがあります。
正確性テーブルの計算は、ROC 曲線の計算に似ています。 ROC 曲線には、真陽性率と擬陽性率がさまざまな確率のしきい値で保存されます。 正確性テーブルには、真陽性、擬陽性、真陰性、偽陰性の実際の数が、多くの確率のしきい値で保存されます。
しきい値を選択する方法には、"確率" と "パーセンタイル" の 2 つの方法があります。これらは、予測確率の領域からどのようにサンプリングされるかが異なります。
確率のしきい値は、0 と 1 の間の等間隔のしきい値です。 NUM_POINTS が 5 の場合、確率のしきい値は [0.0, 0.25, 0.5, 0.75, 1.0] になります。
パーセンタイルのしきい値は、予測確率の分布に従って間隔が決まります。 各しきい値は、確率のしきい値におけるデータのパーセンタイルに対応します。 たとえば、NUM_POINTS が 5 の場合、最初のしきい値は 0 番目のパーセンタイル、2 つ目は 25 番目のパーセンタイル、3 つ目は 50 番目の順となります。
確率テーブルとパーセンタイル テーブルはどちらも 3D リストで、最初のディメンションはクラス ラベルを表し、2 番目のディメンションは (NUM_POINTS 値でスケーリングされた) 1 つのしきい値におけるサンプルを表し、3 番目のディメンションには常に TP、FP、TN、FN、4 つの値がこの順序であります。
混合値 (TP、FP、TN、FN) は、一対残りの戦略を使用して計算されます。 詳しくは、次のリンクを参照してください。https://en.wikipedia.org/wiki/Multiclass_classification
N = 検証データセット内のサンプル数 (例では 200)。M = しきい値の数 = 確率空間から取得されたサンプル数 (例では 5)。C = 完全なデータセット内のクラス数 (例では 3)
正確性テーブルのインバリアントの一部を以下に示します。
- TP + FP + TN + FN = すべてのクラスのすべてのしきい値について N
- TP + FN は、すべてのクラスのすべてのしきい値で同じ
- TN + FP は、すべてのクラスのすべてのしきい値で同じ
- 確率テーブルとパーセンタイル テーブルのシェイプは [C, M, 4]
注: M は任意の値にすることができ、グラフの解像度をコントロールします。これは、データセットに依存せず、メトリックの計算時に定義され、記憶域、評価時間、解決方法をトレード オフします。
クラス ラベルは文字列である必要があり、混同値は整数にする必要があり、しきい値は浮動にする必要があります。
log_accuracy_table(name, value, description='')
パラメーター
名前 | 説明 |
---|---|
name
必須
|
正確性テーブルの名前。 |
value
必須
|
名前、バージョン、データ プロパティを含む JSON。 |
description
必須
|
メトリックの説明 (省略可能)。 |
注釈
有効な JSON 値の例を以下に示します。
{
"schema_type": "accuracy_table",
"schema_version": "1.0.1",
"data": {
"probability_tables": [
[
[82, 118, 0, 0],
[75, 31, 87, 7],
[66, 9, 109, 16],
[46, 2, 116, 36],
[0, 0, 118, 82]
],
[
[60, 140, 0, 0],
[56, 20, 120, 4],
[47, 4, 136, 13],
[28, 0, 140, 32],
[0, 0, 140, 60]
],
[
[58, 142, 0, 0],
[53, 29, 113, 5],
[40, 10, 132, 18],
[24, 1, 141, 34],
[0, 0, 142, 58]
]
],
"percentile_tables": [
[
[82, 118, 0, 0],
[82, 67, 51, 0],
[75, 26, 92, 7],
[48, 3, 115, 34],
[3, 0, 118, 79]
],
[
[60, 140, 0, 0],
[60, 89, 51, 0],
[60, 41, 99, 0],
[46, 5, 135, 14],
[3, 0, 140, 57]
],
[
[58, 142, 0, 0],
[56, 93, 49, 2],
[54, 47, 95, 4],
[41, 10, 132, 17],
[3, 0, 142, 55]
]
],
"probability_thresholds": [0.0, 0.25, 0.5, 0.75, 1.0],
"percentile_thresholds": [0.0, 0.01, 0.24, 0.98, 1.0],
"class_labels": ["0", "1", "2"]
}
}
log_confusion_matrix
混同行列を成果物ストアに記録します。
これにより、sklearn 混同行列をラップするラッパーがログに記録されます。 メトリック データには、クラス ラベルと、行列自体の 2D リストが含まれています。 メトリックの計算方法の詳細については、次のリンクを参照してください。https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html
log_confusion_matrix(name, value, description='')
パラメーター
名前 | 説明 |
---|---|
name
必須
|
混同行列の名前。 |
value
必須
|
名前、バージョン、データ プロパティを含む JSON。 |
description
必須
|
メトリックの説明 (省略可能)。 |
注釈
有効な JSON 値の例を以下に示します。
{
"schema_type": "confusion_matrix",
"schema_version": "1.0.0",
"data": {
"class_labels": ["0", "1", "2", "3"],
"matrix": [
[3, 0, 1, 0],
[0, 1, 0, 1],
[0, 0, 1, 0],
[0, 0, 0, 1]
]
}
}
log_image
実行レコードにイメージ メトリックを記録します。
log_image(name, path=None, plot=None, description='')
パラメーター
名前 | 説明 |
---|---|
name
必須
|
メトリックの名前。 |
path
必須
|
イメージのパスまたはストリーム。 |
plot
必須
|
<xref:matplotlib.pyplot>
イメージとしてログに記録するプロット。 |
description
必須
|
メトリックの説明 (省略可能)。 |
注釈
このメソッドを使用してイメージ ファイルをログに記録するか、実行に matplotlib プロットを使用してプロットします。 これらのイメージは実行レコードで表示して比較できます。
log_list
指定した名前で実行にメトリック値のリストを記録します。
log_list(name, value, description='')
パラメーター
名前 | 説明 |
---|---|
name
必須
|
メトリックの名前。 |
value
必須
|
メトリックの値。 |
description
必須
|
メトリックの説明 (省略可能)。 |
log_predictions
予測を成果物ストアに記録します。
回帰タスクに関する真の目標値の分布と予測値の分布の比較に使用できるメトリック スコアがログに記録されます。
予測はビン分割され、折れ線グラフの誤差範囲に対して標準偏差が計算されます。
log_predictions(name, value, description='')
パラメーター
名前 | 説明 |
---|---|
name
必須
|
予測の名前。 |
value
必須
|
名前、バージョン、データ プロパティを含む JSON。 |
description
必須
|
メトリックの説明 (省略可能)。 |
注釈
有効な JSON 値の例を以下に示します。
{
"schema_type": "predictions",
"schema_version": "1.0.0",
"data": {
"bin_averages": [0.25, 0.75],
"bin_errors": [0.013, 0.042],
"bin_counts": [56, 34],
"bin_edges": [0.0, 0.5, 1.0]
}
}
log_residuals
残差を成果物ストアに記録します。
回帰タスクに関する残差のヒストグラムの表示に必要なデータがログに記録されます。 残差は予測値 - 実際の値です。
カウントの数よりも 1 つ多くエッジが必要です。 カウントとエッジを使用してヒストグラムを表現する例については、numpy ヒストグラムのドキュメントを参照してください。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
log_residuals(name, value, description='')
パラメーター
名前 | 説明 |
---|---|
name
必須
|
残差の名前。 |
value
必須
|
名前、バージョン、データ プロパティを含む JSON。 |
description
必須
|
メトリックの説明 (省略可能)。 |
注釈
有効な JSON 値の例を以下に示します。
{
"schema_type": "residuals",
"schema_version": "1.0.0",
"data": {
"bin_edges": [50, 100, 200, 300, 350],
"bin_counts": [0.88, 20, 30, 50.99]
}
}
log_row
指定した名前で実行に行メトリックを記録します。
log_row(name, description=None, **kwargs)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
メトリックの名前。 |
description
|
メトリックの説明 (省略可能)。 規定値: None
|
kwargs
必須
|
追加のパラメーターの辞書。 この場合、メトリックの列になります。 |
注釈
log_row
を使用すると、kwargs で記述されているように、列を含むテーブル メトリックが作成されます。 各名前付きパラメーターにより、指定した値の列が生成されます。
log_row
を 1 回呼び出すと任意のタプルを記録でき、ループ内で複数回呼び出すと完全なテーブルを生成できます。
citrus = ['orange', 'lemon', 'lime']
sizes = [ 10, 7, 3]
for index in range(len(citrus)):
run.log_row("citrus", fruit = citrus[index], size=sizes[index])
log_table
指定した名前で実行にテーブル メトリックを記録します。
log_table(name, value, description='')
パラメーター
名前 | 説明 |
---|---|
name
必須
|
メトリックの名前。 |
value
必須
|
メトリックのテーブル値。キーがサービスに投稿される列である辞書。 |
description
必須
|
メトリックの説明 (省略可能)。 |
register_model
運用化のモデルを登録します。
register_model(model_name, model_path=None, tags=None, properties=None, model_framework=None, model_framework_version=None, description=None, datasets=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None, **kwargs)
パラメーター
名前 | 説明 |
---|---|
model_name
必須
|
モデルの名前。 |
model_path
|
モデルへの相対クラウド パス (たとえば "outputs/modelname")。
指定しない場合 (None) は、 規定値: None
|
tags
|
モデルに割り当てるキー値のタグの辞書。 規定値: None
|
properties
|
モデルに割り当てるキー値のプロパティの辞書。 これらのプロパティはモデルの作成後に変更することはできませんが、新しいキーと値のペアを追加できます。 規定値: None
|
model_framework
|
登録するモデルのフレームワーク。 現在サポートされているフレームワークは TensorFlow、ScikitLearn、Onnx、Custom、Multi です 規定値: None
|
model_framework_version
|
登録されるモデルのフレームワーク バージョン。 規定値: None
|
description
|
モデルの説明 (省略可能)。 規定値: None
|
datasets
|
最初の要素がデータセットとモデルのリレーションシップを記述し、2 番目の要素がデータセットであるタプルのリスト。 規定値: None
|
sample_input_dataset
|
任意。 登録されるモデルのサンプル入力データセット 規定値: None
|
sample_output_dataset
|
任意。 登録されるモデルのサンプル出力データセット 規定値: None
|
resource_configuration
|
任意。 登録されるモデルを実行するリソース構成 規定値: None
|
kwargs
必須
|
省略可能なパラメーター。 |
戻り値
型 | 説明 |
---|---|
登録されたモデル。 |
注釈
model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')
remove_tags
この実行の変更可能なタグのリストを削除します。
remove_tags(tags)
パラメーター
名前 | 説明 |
---|---|
tags
必須
|
削除するタグのリスト。 |
戻り値
型 | 説明 |
---|---|
実行オブジェクトに保存されているタグ |
restore_snapshot
スナップショットを ZIP ファイルとして復元します。 ZIP へのパスを返します。
restore_snapshot(snapshot_id=None, path=None)
パラメーター
名前 | 説明 |
---|---|
snapshot_id
|
復元するスナップショット ID。 指定しない場合、最新のものが使用されます。 規定値: None
|
path
|
ダウンロードした ZIP ファイルが保存されるパス。 規定値: None
|
戻り値
型 | 説明 |
---|---|
パス。 |
set_tags
実行にタグのセットを追加したり、実行のタグのセットを変更したりします。 辞書に渡されないタグは変更されません。
単純な文字列のタグを追加することもできます。 これらのタグがタグ辞書にキーとして表示されると、値は None になります。 詳細については、「実行のタグ付けおよび検索」を参照してください。
set_tags(tags)
パラメーター
名前 | 説明 |
---|---|
tags
必須
|
実行オブジェクトに保存されているタグ。 |
start
実行を開始としてマークします。
これは通常、別のアクターが実行を作成しているときの高度なシナリオで使われます。
start()
submit_child
実験を送信し、アクティブな子の実行を返します。
submit_child(config, tags=None, **kwargs)
パラメーター
名前 | 説明 |
---|---|
config
必須
|
送信する構成。 |
tags
|
送信する実行に追加するタグ (例: {"tag": "value"})。 規定値: None
|
kwargs
必須
|
構成に関する送信関数で使用される追加のパラメーター。 |
戻り値
型 | 説明 |
---|---|
実行オブジェクト。 |
注釈
送信とは、ローカルまたはリモートのハードウェアで試行を実行する、Azure Machine Learning プラットフォームへの非同期呼び出しのことです。 構成に応じて、送信によって実行環境が自動的に準備されたり、コードが実行されたり、ソース コードと結果が実験の実行履歴にキャプチャされたりします。
実験を送信するには、まず実験の実行方法を記述する構成オブジェクトを作成する必要があります。 構成は、必要な試行の型によって異なります。
ScriptRunConfig を使用してローカル コンピューターから子の実験を送信する方法の例を次に示します。
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 = parent_run.submit_child(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()
実行を構成する方法の詳細については、「submit」を参照してください。
tag
文字列キーと省略可能な文字列値で実行にタグを付けます。
tag(key, value=None)
パラメーター
名前 | 説明 |
---|---|
key
必須
|
タグ キー |
value
|
タグの値 (省略可能) 規定値: None
|
注釈
実行のタグとプロパティは、どちらも文字列 -> 文字列の辞書です。 これらには変更可能か変更不可かの違いがあります。タグは設定、更新、削除できますが、プロパティは追加のみできます。 したがって、プロパティの方がシステムまたはワークフロー関連の動作のトリガーに適しています。一方、タグは一般的にユーザー向けで実験のコンシューマーにとって意味があります。
run = experiment.start_logging()
run.tag('DeploymentCandidate')
run.tag('modifiedBy', 'Master CI')
run.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable
run.add_properties({'BuildId': os.environ.get('VSTS_BUILD_ID')}) # Properties are not
tags = run.get_tags()
# tags = { 'DeploymentCandidate': None, 'modifiedBy': 'release pipeline' }
take_snapshot
入力ファイルまたはフォルダーのスナップショットを保存します。
take_snapshot(file_or_folder_path)
パラメーター
名前 | 説明 |
---|---|
file_or_folder_path
必須
|
実行のソース コードが含まれるファイルまたはフォルダー。 |
戻り値
型 | 説明 |
---|---|
スナップショット ID を返します。 |
注釈
スナップショットは、実験の実行に使用される "ソース コード" になるように想定されています。 スナップショットは実行と共に保存され、その後、この実行の試行をレプリケートできます。
Note
submit が呼び出される場合、スナップショットは自動的に作成されます。 通常、この take_snapshot メソッドは対話型 (ノートブック) の実行にのみ必要です。
upload_file
実行レコードにファイルをアップロードします。
upload_file(name, path_or_stream, datastore_name=None)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
アップロードするファイルの名前。 |
path_or_stream
必須
|
アップロードするファイルへの相対ローカル パスまたはストリーム。 |
datastore_name
必須
|
データストア名 (省略可能) |
戻り値
型 | 説明 |
---|---|
注釈
run = experiment.start_logging()
run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")
Note
実行は指定された出力ディレクトリ内のファイルを自動的にキャプチャします。ディレクトリの既定値は、ほとんどの実行種類で "./outputs" です。 追加のファイルをアップロードする必要がある場合、または出力ディレクトリが指定されていない場合にのみ、upload_file を使用します。
upload_files
実行レコードにファイルをアップロードします。
upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)
パラメーター
名前 | 説明 |
---|---|
names
必須
|
アップロードするファイルの名前。 設定する場合は、パスも設定する必要があります。 |
paths
必須
|
アップロードするファイルへの相対ローカル パス。 設定する場合は、名前が必要です。 |
return_artifacts
必須
|
アップロードされるファイルごとに成果物オブジェクトを返す必要があるかどうかを示します。 |
timeout_seconds
必須
|
ファイルのアップロードに関するタイムアウト。 |
datastore_name
必須
|
データストア名 (省略可能) |
注釈
upload_files
には別個のファイルに対して upload_file
と同じ効果がありますが、upload_files
を使用するとパフォーマンスおよびリソース使用率のベネフィットがあります。
import os
run = experiment.start_logging()
file_name_1 = 'important_file_1'
file_name_2 = 'important_file_2'
run.upload_files(names=[file_name_1, file_name_2],
paths=['path/on/disk/file_1.txt', 'other/path/on/disk/file_2.txt'])
run.download_file(file_name_1, 'file_1.txt')
os.mkdir("path") # The path must exist
run.download_file(file_name_2, 'path/file_2.txt')
Note
実行により、指定した出力ディレクトリ内にファイルが自動的にキャプチャされます。ほとんどの実行の種類で、この既定値は "./outputs" です。 upload_file は、追加のファイルをアップロードする必要がある場合、または出力ディレクトリを指定しない場合のみ使用してください。
upload_folder
指定したプレフィックス名に、指定したフォルダーをアップロードします。
upload_folder(name, path, datastore_name=None)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
アップロードするファイルのフォルダーの名前。 |
folder
必須
|
アップロードするフォルダーへの相対ローカル パス。 |
datastore_name
必須
|
データストア名 (省略可能) |
注釈
run = experiment.start_logging()
run.upload_folder(name='important_files', path='path/on/disk')
run.download_file('important_files/existing_file.txt', 'local_file.txt')
Note
実行により、指定した出力ディレクトリ内にファイルが自動的にキャプチャされます。ほとんどの実行の種類で、この既定値は "./outputs" です。 upload_folder は、追加のファイルをアップロードする必要がある場合、または出力ディレクトリを指定しない場合のみ使用してください。
wait_for_completion
この実行が完了するまで待機します。 待機後、状態オブジェクトを返します。
wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)
パラメーター
名前 | 説明 |
---|---|
show_output
|
sys.stdout に実行の出力を表示するかどうかを示します。 規定値: False
|
wait_post_processing
|
実行の完了後、後処理が完了するまで待機するかどうかを示します。 規定値: False
|
raise_on_error
|
Run が失敗状態のときに Error が生成されるかどうかを示します。 規定値: True
|
戻り値
型 | 説明 |
---|---|
状態オブジェクト。 |
属性
description
display_name
experiment
id
name
number
parent
この実行の親の実行をサービスから取り込みます。
実行にオプションで親を含めることができます。結果として、実行がツリー階層になることもあります。 親の実行に対するメトリックをログに記録するには、親オブジェクトの log メソッドを使用します。たとえば、run.parent.log()
のようにします。
戻り値
型 | 説明 |
---|---|
親の実行。設定されていない場合は None。 |
properties
この実行の変更不可のプロパティを返します。
戻り値
型 | 説明 |
---|---|
ローカルにキャッシュされる実行のプロパティ。 |
注釈
プロパティには、期間、実行日、ユーザーなど、システムによって生成される変更不可の情報が含まれます。
status
実行オブジェクトの状態を返します。