Run クラス

すべての Azure Machine Learning の実験の実行に関する基底クラスを定義します。

"実行" は、実験の 1 回の試験を表します。 実行を使用して、試験の非同期実行を監視し、メトリックをログに記録し、試験の出力を保存します。さらに、結果を分析し、試験によって生成された成果物にアクセスします。

Run オブジェクトは、HyperDrive の実行、パイプライン実行、AutoML の実行など、Azure Machine Learning のさまざまなシナリオでモデルをトレーニングするスクリプトを送信するときに作成されます。 Experiment クラスで submit または start_logging を指定する場合も、Run オブジェクトが作成されます。

実験と実行の使用を開始するには、以下を参照してください

Run オブジェクトを初期化します。

継承
azureml._run_impl.run_base._RunBase
Run

コンストラクター

Run(experiment, run_id, outputs=None, **kwargs)

パラメーター

名前 説明
experiment
必須

実行が含まれている実験。

run_id
必須
str

実行の ID。

outputs
str

追跡対象の出力。

既定値: None
_run_dto
必須
<xref:azureml._restclient.models.run_dto.RunDto>

内部使用のみです。

kwargs
必須

追加の構成パラメーターの辞書。

experiment
必須

実行が含まれている実験。

run_id
必須
str

実行の ID。

outputs
必須
str

追跡対象の出力。

kwargs
必須

追加の構成パラメーターの辞書。

注釈

"実行" は、実験の 1 回の試行を表します。 Run オブジェクトは、試行の非同期実行の監視、メトリックのログ記録、試行の出力の保存、結果の分析、試行によって生成された成果物へのアクセスに使われます。

実験コード内で Run を使用して、メトリックと成果物を実行履歴サービスに記録します。

Run は、進行状況をモニターし、メトリックと生成された結果に対してクエリを実行して分析するために、実験外で使用されます。

Run の機能には次が含まれます。

  • メトリックとデータを保存および取得する

  • ファイルのアップロードとダウンロードを行う

  • 過去の実行を簡単に検索するためにタグと子階層を使用する

  • 保存されたモデル ファイルを運用可能なモデルとして登録する

  • 実行のプロパティを保存、変更、取得する

  • get_context メソッドを使用してリモート環境から現在の実行を読み込む

  • 再現性のためにファイルまたはディレクトリの効率的なスナップショットを作成する

このクラスでは、次のシナリオで Experiment を処理します。

  • submit を使用して、コードを実行して実行を作成する

  • start_logging を使用して、ノートブックで対話的に実行を作成する

  • 実験内でメトリックをログに記録して成果物をアップロードする (log の使用時など)

  • 実験結果の分析時にメトリックを読み取って成果物をダウンロードする (get_metrics の使用時など)

実行を送信するには、実験の実行方法を記述する構成オブジェクトを作成します。 使用できるさまざまな構成オブジェクトの例を次に示します。

  • ScriptRunConfig

  • 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

実行を失敗としてマークします。

オプションで、error_details にメッセージまたは例外が渡される実行のエラー プロパティを設定します。

flush

タスク キューが処理されるまで待機します。

get

実行 ID を使用して、このワークスペースの実行を取得します。

get_all_logs

実行に関するすべてのログをディレクトリにダウンロードします。

get_children

指定したフィルターで選択される現在の実行のすべての子を取得します。

get_context

現在のサービス コンテキストを返します。

このメソッドは、メトリックのログへの記録とファイルのアップロードに関する現在のサービス コンテキストを取得するために使用します。 allow_offline が True (既定値) の場合、Run オブジェクトに対するアクションは標準出力に出力されます。

get_detailed_status

実行の最新の状態を取り込みます。 実行の状態が "Queued" の場合は、詳細が表示されます。

get_details

実行の定義、状態情報、現在のログ ファイルなどの詳細を取得します。

get_details_with_logs

ログ ファイルのコンテンツを含む実行の状態を返します。

get_environment

この実行で使用された環境定義を取得します。

get_file_names

実行に関連して保存されているファイルをリストします。

get_metrics

実行に対して記録されたメトリックを取得します。

recursive が True (既定では False) の場合は、指定した実行のサブツリー内の実行に関するメトリックを取り込みます。

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)

正確性テーブルのインバリアントの一部を以下に示します。

  • TP + FP + TN + FN = すべてのクラスのすべてのしきい値について N
  • TP + FN は、すべてのクラスのすべてのしきい値で同じ
  • TN + FP は、すべてのクラスのすべてのしきい値で同じ
  • 確率テーブルとパーセンタイル テーブルのシェイプは [C, M, 4]

注: 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
必須
str

ファクトリを呼び出す対象の 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
str

子の実行の名前 (省略可能)。通常は "パーツ" の名前を指定します。

既定値: None
run_id
str

子の実行 ID (省略可能)。省略すると、自動生成されます。 通常、このパラメーターは設定されません。

既定値: None
outputs
str

子に対して追跡する出力ディレクトリ (省略可能)。

既定値: None

戻り値

説明
Run

子の実行。

注釈

これは、実行のパーツをサブセクションに分けるために使用されます。 これは、分ける対象の実行の "パーツ" を識別できるようにするために行ったり、サブプロセスのやり取り全体で独立したメトリックをキャプチャするために行ったりできます。

子の実行に関する出力ディレクトリが設定されている場合、子が完了すると、そのディレクトリのコンテンツが子の実行レコードにアップロードされます。

clean

実行構成で指定したターゲットに対して、現在の実行に対応するファイルを削除します。

clean()

戻り値

説明

削除されたファイルの数。

complete

タスク キューが処理されるまで待機します。

その後、実行が完了とマークされます。 これは通常、対話型ノートブックのシナリオで使用されます。

complete(_set_status=True)

パラメーター

名前 説明
_set_status

追跡に関する状態のイベントを送信するかどうかを示します。

既定値: True

create_children

1 つまたは複数の子の実行を作成します。

create_children(count=None, tag_key=None, tag_values=None)

パラメーター

名前 説明
count
int

作成する子の数 (省略可能)。

既定値: None
tag_key
str

作成されるすべての子の 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
必須
str

ダウンロードされる成果物の名前。

output_file_path
必須
str

成果物を保存する場所のローカル パス。

download_files

指定したストレージのプレフィックス (フォルダー名)、またはプレフィックスを指定していない場合はコンテナー全体からファイルをダウンロードします。

download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)

パラメーター

名前 説明
prefix
必須
str

すべての成果物のダウンロード元のコンテナー内の filepath プレフィックス。

output_directory
必須
str

すべての成果物のパスでプレフィックスとして使用されるディレクトリ (省略可能)。

output_paths
必須
[str]

ダウンロードした成果物を保存する filepath (省略可能)。 一意であり、パスの長さと一致している必要があります。

batch_size
必須
int

バッチあたりのダウンロードするファイルの数。 既定値は 100 個のファイルです。

append_prefix
必須

指定したプレフィックスを最終出力ファイル パスから追加するかどうかを示すフラグ (省略可能)。 False の場合、プレフィックスは出力ファイル パスから削除されます。

timeout_seconds
必須
int

ファイルをダウンロードするためのタイムアウト。

fail

実行を失敗としてマークします。

オプションで、error_details にメッセージまたは例外が渡される実行のエラー プロパティを設定します。

fail(error_details=None, error_code=None, _set_status=True)

パラメーター

名前 説明
error_details
str または BaseException

エラーの詳細 (省略可能)。

既定値: None
error_code
str

エラー分類のエラー コード (省略可能)。

既定値: None
_set_status

追跡に関する状態のイベントを送信するかどうかを示します。

既定値: True

flush

タスク キューが処理されるまで待機します。

flush(timeout_seconds=300)

パラメーター

名前 説明
timeout_seconds
int

タスク キューが処理されるまでの待機時間 (秒)。

既定値: 300

get

実行 ID を使用して、このワークスペースの実行を取得します。

static get(workspace, run_id)

パラメーター

名前 説明
workspace
必須

実行が含まれているワークスペース。

run_id
必須

実行 ID。

戻り値

説明
Run

送信された実行。

get_all_logs

実行に関するすべてのログをディレクトリにダウンロードします。

get_all_logs(destination=None)

パラメーター

名前 説明
destination
str

ログの保存先のパス。 指定しない場合、プロジェクト ディレクトリ内に run ID という名前のディレクトリが作成されます。

既定値: None

戻り値

説明

ダウンロードされたログの名前のリスト。

get_children

指定したフィルターで選択される現在の実行のすべての子を取得します。

get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)

パラメーター

名前 説明
recursive

すべての子孫を通じて再帰処理するかどうかを示します。

既定値: False
tags
str または dict

指定した場合、指定した "tag" または {"tag": "value"} に一致する実行が返されます。

既定値: None
properties
str または dict

指定した場合、指定した "property" または {"property": "value"} に一致する実行が返されます。

既定値: None
type
str

指定した場合、この型に一致する実行が返されます。

既定値: None
status
str

指定した場合、指定した "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

戻り値

説明
Run

送信された実行。

注釈

一般的にこの関数は、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_details_with_logs()

戻り値

説明

ログ ファイルのコンテンツを含む、実行の状態を返します。

get_environment

この実行で使用された環境定義を取得します。

get_environment()

戻り値

説明

環境オブジェクトを返します。

get_file_names

実行に関連して保存されているファイルをリストします。

get_file_names()

戻り値

説明

既存の成果物のパスのリスト

get_metrics

実行に対して記録されたメトリックを取得します。

recursive が True (既定では False) の場合は、指定した実行のサブツリー内の実行に関するメトリックを取り込みます。

get_metrics(name=None, recursive=False, run_type=None, populate=False)

パラメーター

名前 説明
name
str

メトリックの名前。

既定値: None
recursive

すべての子孫を通じて再帰処理するかどうかを示します。

既定値: False
run_type
str
既定値: 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
必須
str

返すシークレットのシークレット名。

戻り値

説明
str

シークレット値。

get_secrets

指定したシークレット名のリストを対象にしてシークレット値を取得します。

指定した名前のリストを対象にして見つかったシークレットと見つからないシークレットの辞書を取得します。 各シークレット名は、ワークスペースに関連付けられた Azure Key Vault に保存される値を参照します。 シークレットの処理の例については、「トレーニングの実行でシークレットを使用する」を参照してください。

get_secrets(secrets)

パラメーター

名前 説明
secrets
必須

シークレット値を返すシークレットの名前のリスト。

戻り値

説明

見つかったシークレットと見つからないシークレットの辞書を返します。

get_snapshot_id

最新のスナップショット ID を取得します。

get_snapshot_id()

戻り値

説明
str

最新のスナップショット ID。

get_status

実行の最新の状態を取り込みます。

一般的には "Running"、"Completed"、"Failed" などの値が返されます。

get_status()

戻り値

説明
str

最新の状態。

注釈

  • 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_context を使用してください。

この実験に関する送信済みの実行を取得します。

get_submitted_run(**kwargs)

戻り値

説明
Run

送信された実行。

get_tags

実行の変更可能なタグの最新セットをサービスから取り込みます。

get_tags()

戻り値

説明

実行オブジェクトに保存されていタグ。

list

省略可能なフィルターで指定される、実験内の実行のリストを取得します。

static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)

パラメーター

名前 説明
experiment
必須

実行が含まれている実験。

type
str

指定した場合、指定した型に一致する実行が返されます。

既定値: None
tags
str または dict

指定した場合、指定した "tag" または {"tag": "value"} に一致する実行が返されます。

既定値: None
properties
str または dict

指定した場合、指定した "property" または {"property": "value"} に一致する実行が返されます。

既定値: None
status
str

指定した場合、指定した "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
str

指定した場合、指定した型に一致する実行が返されます。

既定値: None
tags
str または dict

指定した場合、指定した "tag" または {"tag": "value"} に一致する実行が返されます。

既定値: None
properties
str または dict

指定した場合、指定した "property" または {"property": "value"} に一致する実行が返されます。

既定値: None
status
str

指定した場合、指定した "status" の状態の実行が返されます。 使用できる値は、"Running" と "Queued" だけです。

既定値: None

戻り値

説明
<xref:builtin.generator>

~_restclient.models.RunDto のジェネレーター

log

指定した名前で実行にメトリック値を記録します。

log(name, value, description='', step=None)

パラメーター

名前 説明
name
必須
str

メトリックの名前。

value
必須

サービスに投稿される値。

description
必須
str

メトリックの説明 (省略可能)。

step
int

メトリック内の値の順序を指定する軸 (省略可能)。

既定値: 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
必須
str

正確性テーブルの名前。

value
必須
str または dict

名前、バージョン、データ プロパティを含む JSON。

description
必須
str

メトリックの説明 (省略可能)。

注釈

有効な 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
必須
str

混同行列の名前。

value
必須
str または dict

名前、バージョン、データ プロパティを含む JSON。

description
必須
str

メトリックの説明 (省略可能)。

注釈

有効な 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
必須
str

メトリックの名前。

path
必須
str

イメージのパスまたはストリーム。

plot
必須
<xref:matplotlib.pyplot>

イメージとしてログに記録するプロット。

description
必須
str

メトリックの説明 (省略可能)。

注釈

このメソッドを使用してイメージ ファイルをログに記録するか、実行に matplotlib プロットを使用してプロットします。 これらのイメージは実行レコードで表示して比較できます。

log_list

指定した名前で実行にメトリック値のリストを記録します。

log_list(name, value, description='')

パラメーター

名前 説明
name
必須
str

メトリックの名前。

value
必須

メトリックの値。

description
必須
str

メトリックの説明 (省略可能)。

log_predictions

予測を成果物ストアに記録します。

回帰タスクに関する真の目標値の分布と予測値の分布の比較に使用できるメトリック スコアがログに記録されます。

予測はビン分割され、折れ線グラフの誤差範囲に対して標準偏差が計算されます。

log_predictions(name, value, description='')

パラメーター

名前 説明
name
必須
str

予測の名前。

value
必須
str または dict

名前、バージョン、データ プロパティを含む JSON。

description
必須
str

メトリックの説明 (省略可能)。

注釈

有効な 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
必須
str

残差の名前。

value
必須
str または dict

名前、バージョン、データ プロパティを含む JSON。

description
必須
str

メトリックの説明 (省略可能)。

注釈

有効な 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
必須
str

メトリックの名前。

description
str

メトリックの説明 (省略可能)。

既定値: 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
必須
str

メトリックの名前。

value
必須

メトリックのテーブル値。キーがサービスに投稿される列である辞書。

description
必須
str

メトリックの説明 (省略可能)。

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

モデルの名前。

model_path
str

モデルへの相対クラウド パス (たとえば "outputs/modelname")。 指定しない場合 (None) は、model_name がパスとして使用されます。

既定値: None
tags

モデルに割り当てるキー値のタグの辞書。

既定値: None
properties

モデルに割り当てるキー値のプロパティの辞書。 これらのプロパティはモデルの作成後に変更することはできませんが、新しいキーと値のペアを追加できます。

既定値: None
model_framework
str

登録するモデルのフレームワーク。 現在サポートされているフレームワークは TensorFlow、ScikitLearn、Onnx、Custom、Multi です

既定値: None
model_framework_version
str

登録されるモデルのフレームワーク バージョン。

既定値: None
description
str

モデルの説明 (省略可能)。

既定値: 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
str

復元するスナップショット ID。 指定しない場合、最新のものが使用されます。

既定値: None
path
str

ダウンロードした ZIP ファイルが保存されるパス。

既定値: None

戻り値

説明
str

パス。

set_tags

実行にタグのセットを追加したり、実行のタグのセットを変更したりします。 辞書に渡されないタグは変更されません。

単純な文字列のタグを追加することもできます。 これらのタグがタグ辞書にキーとして表示されると、値は None になります。 詳細については、「実行のタグ付けおよび検索」を参照してください。

set_tags(tags)

パラメーター

名前 説明
tags
必須
dict[str] または str

実行オブジェクトに保存されているタグ。

start

実行を開始としてマークします。

これは通常、別のアクターが実行を作成しているときの高度なシナリオで使われます。

start()

submit_child

実験を送信し、アクティブな子の実行を返します。

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

パラメーター

名前 説明
config
必須

送信する構成。

tags

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

既定値: None
kwargs
必須

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

戻り値

説明
Run

実行オブジェクト。

注釈

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

タグ キー

value
str

タグの値 (省略可能)

既定値: 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
必須
str

実行のソース コードが含まれるファイルまたはフォルダー。

戻り値

説明
str

スナップショット ID を返します。

注釈

スナップショットは、実験の実行に使用される "ソース コード" になるように想定されています。 スナップショットは実行と共に保存され、その後、この実行の試行をレプリケートできます。

Note

submit が呼び出される場合、スナップショットは自動的に作成されます。 通常、この take_snapshot メソッドは対話型 (ノートブック) の実行にのみ必要です。

upload_file

実行レコードにファイルをアップロードします。

upload_file(name, path_or_stream, datastore_name=None)

パラメーター

名前 説明
name
必須
str

アップロードするファイルの名前。

path_or_stream
必須
str

アップロードするファイルへの相対ローカル パスまたはストリーム。

datastore_name
必須
str

データストア名 (省略可能)

戻り値

説明

注釈


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

ファイルのアップロードに関するタイムアウト。

datastore_name
必須
str

データストア名 (省略可能)

注釈

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

アップロードするファイルのフォルダーの名前。

folder
必須
str

アップロードするフォルダーへの相対ローカル パス。

datastore_name
必須
str

データストア名 (省略可能)

注釈


   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

実行の説明を返します。

実行の説明 (省略可能) は、実行について説明するのに役立つユーザー指定の文字列です。

戻り値

説明
str

実行の説明。

display_name

実行表示名を返します。

実行の表示名 (省略可能) は、後で実行を識別するのに役立つユーザー指定の文字列です。

戻り値

説明
str

実行表示名。

experiment

実行が含まれる実験を取得します。

戻り値

説明

実行に対応する実験を取得します。

id

実行 ID を取得します。

実行の ID は、その実行が含まれている実験全体で一意の識別子です。

戻り値

説明
str

実行 ID。

name

非推奨。 display_name を使用してください。

実行の名前 (オプション) は、後で実行を識別するのに役立つユーザー指定の文字列です。

戻り値

説明
str

実行 ID。

number

実行番号を取得します。

実験内での実行の順序を表す、単調に増加する数値です。

戻り値

説明
int

実行番号。

parent

この実行の親の実行をサービスから取り込みます。

実行にオプションで親を含めることができます。結果として、実行がツリー階層になることもあります。 親の実行に対するメトリックをログに記録するには、親オブジェクトの log メソッドを使用します。たとえば、run.parent.log() のようにします。

戻り値

説明
Run

親の実行。設定されていない場合は None。

properties

この実行の変更不可のプロパティを返します。

戻り値

説明
dict[str],
str

ローカルにキャッシュされる実行のプロパティ。

注釈

プロパティには、期間、実行日、ユーザーなど、システムによって生成される変更不可の情報が含まれます。

status

実行オブジェクトの状態を返します。

tags

この実行の変更可能なタグのセットを返します。

戻り値

説明

実行オブジェクトに保存されていタグ。

type

実行の種類を取得します。

実行がどのように作成または構成されたかを示します。

戻り値

説明
str

実行の種類。