Closed4
Vertex AI Experimetns 調査
ピン留めされたアイテム
-
aiplatform.start_run("run-1")
で実験管理レコードの記録開始 - 記録開始中は下記でレコードコラムを自由に変更可能
metaparams = {}
metaparams["units"] = 128000
aiplatform.log_params(metaparams)
hyperparams = {}
hyperparams["epochs"] = 100
hyperparams["batch_size"] = 320
hyperparams["batch_size_tets"] = 320000
hyperparams["learning_rate"] = 0.03
aiplatform.log_params(hyperparams)
Log Parameters
実験のパラメータを記録する
通常、実験は特定のデータセットとモデルアーキテクチャに関連付けられています。実験内には、それぞれ異なる構成を持つ複数のトレーニング実行が存在する可能性があります。例:
- データの供給方法
- データセットの分割
- データセットのサンプリングとブースト
- メタパラメータ
- レイヤーの深さと幅
- ハイパーパラメータ
- バッチサイズ
- 学習率
これらの構成設定はパラメータと呼ばれ、log_params() メソッドを使用してキーと値のペアとして保存します。
- 同様にメトリクスも登録可能
metrics = {}
metrics["test_acc"] = 98.7
metrics["train_acc"] = 99.3
aiplatform.log_metrics(metrics)
Log metrics for the experiment
実験の指標を記録する
実験内の実行が完了または終了したときに、実行を比較するために使用する結果を記録できます。例:
- 評価指標
- ハイパーパラメータ検索の選択
- モデルのトレーニング時間
- 早期停止トリガー
これらの結果は指標と呼ばれ、log_metrics() メソッドを使用してキーと値のペアとして保存します。
-
aiplatform.end_run()
で終了 -
下記でデータフレーム形式で取得可能
experiment_df = aiplatform.get_experiment_df()
experiment_df = experiment_df[experiment_df.experiment_name == EXPERIMENT_NAME]
print(experiment_df.T)
- Console からはこんな感じ
- レコードとアーティファクトを紐づけられる
# Create experiment
EXPERIMENT_NAME = f"example-{uuid.uuid1()}"
aiplatform.init(experiment=EXPERIMENT_NAME)
aiplatform.start_run("run-1")
DATASET_URI = f"gs://{BUCKET_URI}/dataset.csv"
MODEL_URI = f"gs://{BUCKET_URI}/saved_model.pb"
dataset_artifact = aiplatform.Artifact.create(
schema_title="system.Dataset", display_name="example_dataset", uri=DATASET_URI
)
model_artifact = aiplatform.Artifact.create(
schema_title="system.Model", display_name="example_modl", uri=MODEL_URI
)
with aiplatform.start_execution(
schema_title="system.ContainerExecution", display_name="example_training"
) as execution:
execution.assign_input_artifacts([dataset_artifact])
aiplatform.log_params({"units": 256})
aiplatform.log_metrics({"acc": 96.8})
execution.assign_output_artifacts([model_artifact])
aiplatform.log_metrics(
{"lineage": execution.get_output_artifacts()[0].lineage_console_uri}
)
aiplatform.end_run()
experiment_df = aiplatform.get_experiment_df()
experiment_df = experiment_df[experiment_df.experiment_name == EXPERIMENT_NAME]
print(experiment_df.T)
-
Console 上はこちら
-
関連情報は Vertex ML Metadata に記録される
-
これの中身はリネージとしてグラフィカルにわかる
このスクラップは3ヶ月前にクローズされました