SweepJob クラス
ハイパーパラメーターのチューニングのためのスイープ ジョブ。
- 継承
-
azure.ai.ml.entities._job.job.JobSweepJobazure.ai.ml.entities._job.sweep.parameterized_sweep.ParameterizedSweepSweepJobazure.ai.ml.entities._job.job_io_mixin.JobIOMixinSweepJob
コンストラクター
SweepJob(*, name: str | None = None, description: str | None = None, tags: Dict | None = None, display_name: str | None = None, experiment_name: str | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, inputs: Dict[str, int | str | float | bool | Input] | None = None, outputs: Dict[str, Output] | None = None, compute: str | None = None, limits: SweepJobLimits | None = None, sampling_algorithm: str | SamplingAlgorithm | None = None, search_space: Dict[str, Choice | LogNormal | LogUniform | Normal | QLogNormal | QLogUniform | QNormal | QUniform | Randint | Uniform] | None = None, objective: Objective | None = None, trial: CommandJob | CommandComponent | None = None, early_termination: BanditPolicy | MedianStoppingPolicy | TruncationSelectionPolicy | None = None, queue_settings: QueueSettings | None = None, **kwargs: Any)
パラメーター
- name
- str
ジョブの名前。
- display_name
- str
ジョブの表示名。
- description
- str
ジョブの説明。
- experiment_name
- str
ジョブが作成される実験の名前。None が指定されている場合は、実験 'Default' の下にジョブが作成されます。
コンピューティングでの実行中にトレーニング ジョブが使用する ID。
- inputs
- dict
コマンドへの入力。
- sampling_algorithm
- str
search_spaceで使用するハイパーパラメーター サンプリング アルゴリズム。 既定値は "random" です。
- search_space
- Dict
ハイパーパラメーター検索空間の辞書。 キーはハイパーパラメーターの名前で、値はパラメーター式です。
- objective
- Objective
最適化するメトリック。
- compute
- str
ジョブが実行されるコンピューティング 先。
- trial
- Union[CommandJob, CommandComponent]
各試用版のジョブ構成。 各試用版には、システムがsearch_spaceからサンプリングするハイパーパラメーター値の異なる組み合わせが提供されます。
- early_termination
- Union[BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy]
使用する早期終了ポリシー。 指定したポリシーの条件が満たされると、トライアル ジョブはキャンセルされます。 省略した場合、早期終了ポリシーは適用されません。
- limits
- <xref:azure.ai.ml.entities.SweepJobLimits>
スイープ ジョブの制限。
- queue_settings
- QueueSettings
ジョブのキュー設定。
- kwargs
- dict
追加の構成パラメーターのディクショナリ。
例
SweepJob の作成
from azure.ai.ml.entities import CommandJob
from azure.ai.ml.sweep import BayesianSamplingAlgorithm, Objective, SweepJob, SweepJobLimits
command_job = CommandJob(
inputs=dict(kernel="linear", penalty=1.0),
compute=cpu_cluster,
environment=f"{job_env.name}:{job_env.version}",
code="./scripts",
command="python scripts/train.py --kernel $kernel --penalty $penalty",
experiment_name="sklearn-iris-flowers",
)
sweep = SweepJob(
sampling_algorithm=BayesianSamplingAlgorithm(),
trial=command_job,
search_space={"ss": Choice(type="choice", values=[{"space1": True}, {"space2": True}])},
inputs={"input1": {"file": "top_level.csv", "mode": "ro_mount"}},
compute="top_level",
limits=SweepJobLimits(trial_timeout=600),
objective=Objective(goal="maximize", primary_metric="accuracy"),
)
メソッド
dump |
ジョブの内容を YAML 形式のファイルにダンプします。 |
set_limits |
スイープ ノードの制限を設定します。 対応する値を更新しない場合は、パラメーターを [なし] のままにします。 |
set_objective |
スイープ オブジェクトを設定します。. 対応する値を更新しない場合は、パラメーターを [なし] のままにします。 "最小化"、"最大化"。 :type goal: str :キーワード (keyword) primary_metric: 最適化するメトリックの名前。 :p aramtype primary_metric: str |
dump
ジョブの内容を YAML 形式のファイルにダンプします。
dump(dest: str | PathLike | IO, **kwargs) -> None
パラメーター
YAML コンテンツを書き込むローカル パスまたはファイル ストリーム。 dest がファイル パスの場合は、新しいファイルが作成されます。 dest が開いているファイルの場合、ファイルは に直接書き込まれます。
- kwargs
- dict
YAML シリアライザーに渡す追加の引数。
例外
dest がファイル パスであり、ファイルが既に存在する場合に発生します。
dest が開いているファイルで、ファイルが書き込み可能でない場合に発生します。
set_limits
スイープ ノードの制限を設定します。 対応する値を更新しない場合は、パラメーターを [なし] のままにします。
set_limits(*, max_concurrent_trials: int | None = None, max_total_trials: int | None = None, timeout: int | None = None, trial_timeout: int | None = None) -> None
パラメーター
- max_concurrent_trials
- int
最大同時試用番号。
- max_total_trials
- int
最大試用数。
- timeout
- int
スイープ ノードの合計タイムアウト (秒単位)
- trial_timeout
- int
各試用版のタイムアウト (秒単位)
例外
dest がファイル パスであり、ファイルが既に存在する場合に発生します。
dest が開いているファイルで、ファイルが書き込み可能でない場合に発生します。
set_objective
スイープ オブジェクトを設定します。. 対応する値を更新しない場合は、パラメーターを [なし] のままにします。
"最小化"、"最大化"。 :type goal: str :キーワード (keyword) primary_metric: 最適化するメトリックの名前。 :p aramtype primary_metric: str
set_objective(*, goal: str | None = None, primary_metric: str | None = None) -> None
パラメーター
- goal
ハイパーパラメーターの調整でサポートされるメトリック目標を定義します。 使用可能な値は、次のとおりです。
例外
dest がファイル パスであり、ファイルが既に存在する場合に発生します。
dest が開いているファイルで、ファイルが書き込み可能でない場合に発生します。
属性
base_path
creation_context
early_termination
スイープ ジョブの早期終了ポリシー。
戻り値
スイープ ジョブの早期終了ポリシー。
の戻り値の型 :
id
inputs
limits
log_files
outputs
sampling_algorithm
status
ジョブの状態。
一般的には "Running"、"Completed"、"Failed" などの値が返されます。 使用可能なすべての値は次のとおりです。
NotStarted - これは、クラウドの送信前にクライアント側の Run オブジェクトが存在する一時的な状態です。
Starting - クラウドで Run が処理され始めています。 この時点で、呼び出し元に実行 ID があります。
プロビジョニング - 特定のジョブの送信に対してオンデマンド コンピューティングが作成されています。
準備中 - 実行環境は準備中であり、次の 2 つの段階のいずれかにあります。
Docker イメージのビルド
Conda 環境のセットアップ
Queued - ジョブはコンピューティング先でキューに入れられます。 たとえば、BatchAI では、ジョブはキューに入った状態です
要求されたノードの準備が整うのを待機しています。
実行中 - コンピューティング 先でジョブの実行が開始されました。
最終処理 - ユーザー コードの実行が完了し、実行は後処理段階にあります。
CancelRequested - ジョブに対してキャンセルが要求されました。
完了 - 実行が正常に完了しました。 これには、ユーザー コードの実行と実行の両方が含まれます
後処理のステージ。
Failed - 実行に失敗しました。 通常は実行の Error プロパティで、理由に関する詳細が提供されます。
Canceled - キャンセル要求に従い、実行が現在正常にキャンセルされたことを示します。
NotResponding - ハートビートが有効になっている実行の場合、最近ハートビートが送信されていません。
戻り値
ジョブの状態。
の戻り値の型 :
studio_url
type
Azure SDK for Python