注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
モデル実験のPython APIは、実験にメトリクスとハイパーパラメータを書き込むための一連のメソッドを提供します。このページには、palantir_models.experiments
パッケージで利用可能な関数とクラスに関する情報が含まれています。
palantir_models.experiments.Experiment
モデルトレーニング実験を追跡するためのクラス。実験は任意のModelOutput
クラスから作成できます。
Copied!1
model_output.create_experiment(name="experiment-name")
関数 | 説明 |
---|---|
log_param(key, value) | 単一のパラメータを実験に記録します。 |
log_params(parameter_map) | 一連のパラメータを実験に記録します。 |
log_metric(name, value, step) | 指定されたシリーズの下で実験にメトリック値を記録します。 |
log_metrics(metric_values, step) | 指定されたシリーズの下で一連のメトリック値を実験に記録します。 |
palantir_models.experiments.ErrorHandlerType
実験コードを実行する際にエラーをどのように処理するかを制御するための列挙型。特に、メトリクスの書き込み時のネットワークエラーや実験サイズのオーバーフローなど、ユーザーコード以外によって引き起こされるエラーを管理します。
バリアント | 説明 |
---|---|
ErrorHandlerType.FAIL | すべてのエラーで失敗します。エラーを呼び出し元に再発生させます。 |
ErrorHandlerType.WARN | 最初のエラーで警告し、その後は抑制します。 |
ErrorHandlerType.SUPPRESS | 何もログに記録しません。 |
実験を作成する際に、希望するエラーハンドラータイプをModelOutput.create_experiment
に渡すことができます。以下に例を示します:
Copied!1 2
from palantir_models.experiments import ErrorHandlerType model_output.create_experiment(name="mnist-experiment", error_handler_type=ErrorHandlerType.WARN)
Experiment.log_param
palantir_models.experiments.Experiment.log_param(key: str, value: Union[bool, date, datetime, float, int, str])
value
を指定されたkey
にログします。Copied!1
experiment.log_param(key="learning_rate", value=1e-3)
key
: str
value
: Union[bool, date, datetime, float, int, str]
Experiment.log_params
palantir_models.experiments.Experiment.log_params(parameter_map: Dict[str, Union[bool, date, datetime, float, int, str]])
log_param
のバッチ版。Copied!1 2 3 4
experiment.log_params(parameter_map={ "learning_rate": 1e-3, "model_type": "CNN" })
parameter_map
: Dict[str, Union[bool, date, datetime, float, int, str]]
Experiment.log_metric
palantir_models.experiments.Experiment.log_metric(metric_name: str, metric_value: float, step: Optional[int] = None)
step
が提供されている場合、そのステップでログしようとします。ステップがすでにログされている場合、エラーが発生します。step
が提供されていない場合、シリーズの現在のステップは自動的に1ずつインクリメントされます。Copied!1 2
experiment.log_metric(metric_name="train/loss", metric_value=1.5) experiment.log_metric(metric_name="train/loss", metric_value=0.9) # ステップは自動的にインクリメントされます
metric_name
: str
metric_value
: float
step
: Optional[int]
Experiment.log_metrics
palantir_models.experiments.Experiment.log_metrics(values: Dict[str, float], step: Optional[int] = None)
log_metric
のバッチ版。step
が提供されている場合、そのステップでログしようとします。ステップがすでにどのシリーズでもログされている場合、エラーが発生します。step
が提供されていない場合、すべてのシリーズの現在のステップは独立して1ずつ自動インクリメントされます。Copied!1 2 3 4
experiment.log_metrics(values={ "train/loss": 1.5, "train/acc": 0.7 })
values
: Dict[str, float]
step
: Optional[int]