超參數是控管模型訓練程序的變數,例如批量大小或深層類神經網路中的隱藏層數量。超參數調整工作會在一系列實驗中盡可能取得成效最高的指標值,找出最佳超參數值組合。指標是您在訓練程式中新增的純量摘要,例如模型準確率。
進一步瞭解如何透過 Gemini Enterprise Agent Platform 調整超參數。如需逐步範例,請參閱「Agent Platform:超參數調整程式碼研究室」。
本頁面說明如何:
更新訓練應用程式,接受超參數做為指令列引數,並向 Agent Platform 報告指標值,為超參數調整做好準備。
準備訓練應用程式
在超參數調整工作中,Agent Platform 會使用不同的超參數組合建立訓練工作試驗,並使用您指定的指標評估試驗的有效性。Agent Platform 會將超參數值以指令列引數的形式傳遞至訓練應用程式。如要讓 Agent Platform 評估試驗的成效,訓練應用程式必須向 Agent Platform 回報指標。
以下各節說明:
- Agent Platform 如何將超參數傳遞至訓練應用程式。
- 將指標從訓練應用程式傳遞至 Agent Platform 的選項。
如要進一步瞭解在 Gemini Enterprise Agent Platform 上執行的無伺服器訓練應用程式需求,請參閱「訓練程式碼需求」。
處理您要調整的超參數的指令列引數
Agent Platform 會在呼叫訓練應用程式時設定指令列引數。請在程式碼中使用這些指令列引數:
定義每個超參數引數的名稱,然後使用您偏好的任一種引數剖析器 (例如
argparse) 來剖析引數。設定超參數訓練工作時,請使用相同的引數名稱。舉例來說,如果訓練應用程式是名為
my_trainer的 Python 模組,且您要調整名為learning_rate的超參數,Agent Platform 會使用類似下列的指令啟動每次試驗:python3 -m my_trainer --learning_rate learning-rate-in-this-trial
Agent Platform 會判斷 learning-rate-in-this-trial,並使用
learning_rate引數傳遞該值。將指令列引數中的值指派給訓練程式碼中的超參數。
向 Agent Platform 回報指標
如要向 Agent Platform 回報指標,請使用 cloudml-hypertunePython 套件。這個程式庫提供輔助函式,可將指標回報給 Agent Platform。
建立超參數調整工作
視要用來建立 HyperparameterTuningJob 的工具而定,選取下列任一分頁標籤:
控制台
您無法在 Cloud de Confiance 控制台中直接建立 HyperparameterTuningJob 資源,不過,您可以建立 TrainingPipeline 資源來建立 HyperparameterTuningJob。
下列操作說明將介紹如何建立 TrainingPipeline,以便建立 HyperparameterTuningJob,且不執行任何其他操作。如要使用其他 TrainingPipeline 功能,例如使用受管理資料集進行訓練,請參閱「建立訓練管道」。
前往 Cloud de Confiance 控制台的「Agent Platform」部分,然後前往「Training pipelines」頁面。
按一下「建立」,開啟「訓練新模型」窗格。
在「訓練方法」步驟中,指定下列設定:
在「資料集」下拉式清單中,選取「沒有代管資料集」。
選取「自訂訓練 (進階)」。
按一下「繼續」。
在「模型詳細資料」步驟中,選擇「訓練新模型」或「訓練新版本」。 如果選取「訓練新模型」,請為模型輸入所選名稱 MODEL_NAME。按一下「繼續」。
在「訓練容器」步驟中,指定下列設定:
選取是否要使用預先建立的容器或自訂容器進行訓練。
根據您的選擇,執行下列其中一項操作:
如要使用預先建構的容器進行訓練,請向 Agent Platform 提供所需資訊,以便使用您上傳到 Cloud Storage 的訓練套件:
使用「模型架構」和「模型架構版本」下拉式清單,指定要使用的預先建構容器。
在「Package location」(套件位置) 欄位中,指定您建立並上傳的 Python 訓練應用程式的 Cloud Storage URI。這個檔案通常以
.tar.gz結尾。在「Python module」(Python 模組) 欄位中,輸入訓練應用程式進入點的模組名稱。
如要使用自訂容器進行訓練,請在「Container image」(容器映像檔) 欄位中,指定容器映像檔的 Artifact Registry 或 Docker Hub URI。
在「模型輸出目錄」欄位中,您可以指定您有權存取的值區中某個目錄的 Cloud Storage URI。該目錄尚不需要存在。
這個值會傳遞至 Agent Platform 的
baseOutputDirectoryAPI 欄位,該欄位會設定多個環境變數,供訓練應用程式在執行時存取。選填:在「引數」欄位中,您可以指定 Agent Platform 在開始執行訓練程式碼時使用的引數。所有引數合併的長度上限為 100,000 個字元。 這些引數的行為會因使用的容器類型而異:
如果您使用預先建構的容器,Agent Platform 會將引數做為指令列標記傳遞至 Python 模組。
如果您使用自訂容器,Agent Platform 會以引數覆寫容器的
CMD指令。
按一下「繼續」。
在「超參數調整」步驟中,選取「啟用超參數調整」核取方塊,並指定下列設定:
在「New Hyperparameter」(新增超參數) 區段中,指定要調整的超參數「Parameter name」(參數名稱) 和「Type」(類型)。根據您指定的類型,設定顯示的其他超參數設定。
進一步瞭解超參數類型及其設定。
如要調整多個超參數,請按一下「新增參數」,然後在新顯示的部分重複上一個步驟。
針對要調整的每個超參數重複執行上述步驟。
在「要最佳化的指標」欄位和「目標」下拉式清單中,指定要最佳化的指標名稱和目標。
在「Maximum number of trials」(試驗次數上限) 欄位中,指定您希望 Agent Platform 為超參數調整工作執行的試驗次數上限。
在「同時執行的測試數量上限」欄位中,指定Agent Platform 可同時執行的測試數量上限。
在「搜尋演算法」下拉式清單中,指定 Agent Platform 要使用的搜尋演算法。
請忽略「啟用提早中止訓練」切換鈕,因為這不會產生任何影響。
按一下「繼續」。
在「Compute and pricing」步驟中,指定下列設定:
在「Region」(區域) 下拉式清單中,選取「支援自訂訓練的區域」
在「工作站集區 0」部分,指定用於訓練的運算資源。
如果您指定加速器,請確認所選加速器類型可在所選區域使用。
如要執行分散式訓練,請按一下「新增更多工作站集區」,然後為每個要新增的工作站集區指定一組額外的運算資源。
按一下「繼續」。
在「預測容器」步驟中,選取「無預測容器」。
按一下「開始訓練」,啟動無伺服器訓練管道。
gcloud
下列步驟說明如何使用 Google Cloud CLI 建立 HyperparameterTuningJob,並採用相對簡單的設定。如要瞭解可用於這項工作的設定選項,請參閱 gcloud ai hp-tuning-jobs create 指令和 HyperparameterTuningJob API 資源的參考文件。
建立名為
config.yaml的 YAML 檔案,其中包含要為新HyerparameterTuningJob指定的 API 欄位:config.yamlstudySpec: metrics: - metricId: METRIC_ID goal: METRIC_GOAL parameters: - parameterId: HYPERPARAMETER_ID doubleValueSpec: minValue: DOUBLE_MIN_VALUE maxValue: DOUBLE_MAX_VALUE trialJobSpec: workerPoolSpecs: - machineSpec: machineType: MACHINE_TYPE replicaCount: 1 containerSpec: imageUri: CUSTOM_CONTAINER_IMAGE_URI更改下列內容:
METRIC_GOAL:超參數指標的目標,可以是MAXIMIZE或MINIMIZE。HYPERPARAMETER_ID:要調整的超參數名稱。 訓練程式碼必須剖析具有這個名稱的指令列標記。在本範例中,超參數必須採用浮點值。瞭解其他超參數資料類型。DOUBLE_MIN_VALUE:您希望 Agent Platform 為這個超參數嘗試的最小值 (數字)。DOUBLE_MAX_VALUE:您希望 Agent Platform 為這個超參數嘗試的最大值 (數字)。MACHINE_TYPE:用於訓練的VM 類型。CUSTOM_CONTAINER_IMAGE_URI:包含訓練程式碼的 Docker 容器映像檔 URI。瞭解如何建立自訂容器映像檔。在本範例中,您必須使用自訂容器。
HyperparameterTuningJob資源也支援Python 原始碼發布中的訓練程式碼,而非自訂容器。
在
config.yaml檔案所在的目錄中,執行下列殼層指令:gcloud ai hp-tuning-jobs create \ --region=LOCATION \ --display-name=DISPLAY_NAME \ --max-trial-count=MAX_TRIAL_COUNT \ --parallel-trial-count=PARALLEL_TRIAL_COUNT \ --config=config.yaml更改下列內容:
LOCATION:要建立HyperparameterTuningJob的區域。使用支援無伺服器訓練的地區。DISPLAY_NAME:您選擇的HyperparameterTuningJob顯示名稱,方便記憶。請參閱「REST 資源」。MAX_TRIAL_COUNT:要執行的試驗數量上限。PARALLEL_TRIAL_COUNT:可同時執行的測試數量上限。
REST
使用下列程式碼範例,透過
hyperparameterTuningJob 資源的 create 方法建立超參數調整工作。
使用任何要求資料之前,請先修改下列項目的值:
-
LOCATION:要建立HyperparameterTuningJob的區域。使用支援無伺服器訓練的地區。 - PROJECT: 您的專案 ID。 。
-
DISPLAY_NAME:您選擇的HyperparameterTuningJob顯示名稱,方便記憶。請參閱「REST 資源」。 - 指定指標:
- 指定超參數:
-
HYPERPARAMETER_ID:要調整的超參數名稱。 訓練程式碼必須剖析具有這個名稱的指令列標記。 - PARAMETER_SCALE:(選用)。參數的縮放方式。CATEGORICAL 參數請保留未設定狀態。可以是
UNIT_LINEAR_SCALE、UNIT_LOG_SCALE、UNIT_REVERSE_LOG_SCALE或SCALE_TYPE_UNSPECIFIED - 如果這個超參數的類型為 DOUBLE,請指定這個超參數的最小值 (DOUBLE_MIN_VALUE) 和最大值 (DOUBLE_MAX_VALUE)。
- 如果這個超參數的類型為 INTEGER,請為這個超參數指定最小值 (INTEGER_MIN_VALUE) 和最大值 (INTEGER_MAX_VALUE)。
- 如果這個超參數的類型為 CATEGORICAL,請將可接受的值 (CATEGORICAL_VALUES) 指定為字串陣列。
- 如果這個超參數的類型為 DISCRETE,請將可接受的值 (DISCRETE_VALUES) 指定為數字陣列。
- 指定條件式超參數。當父項超參數的值符合您指定的條件時,系統會將條件超參數新增至試驗。進一步瞭解
條件式超參數。
- CONDITIONAL_PARAMETER:條件式參數的
ParameterSpec。這項規格包括參數名稱、比例、值範圍,以及取決於這個超參數的任何條件參數。 - 如果父項超參數的類型為 INTEGER,請將整數清單指定為 INTEGERS_TO_MATCH。如果父項超參數的值符合指定值之一,系統就會將這個條件式參數新增至試驗。
- 如果父項超參數的類型為 CATEGORICAL,請將類別清單指定為 CATEGORIES_TO_MATCH。如果父項超參數的值符合指定值之一,系統就會將這個條件式參數新增至試驗。
- 如果父項超參數的類型為 DISCRETE,請將整數清單指定為 DISCRETE_VALUES_TO_MATCH。如果父項超參數的值符合指定值之一,系統就會將這個條件式參數新增至試驗。
- CONDITIONAL_PARAMETER:條件式參數的
-
- ALGORITHM:(選用)。要在這項超參數調整工作中使用的搜尋演算法。可以是
ALGORITHM_UNSPECIFIED、GRID_SEARCH或RANDOM_SEARCH。 -
MAX_TRIAL_COUNT:要執行的試驗數量上限。 -
PARALLEL_TRIAL_COUNT:可同時執行的測試數量上限。 - MAX_FAILED_TRIAL_COUNT:超參數調整工作失敗前可失敗的工作數量。
- 定義試用自訂訓練工作:
-
MACHINE_TYPE:用於訓練的VM 類型。 - ACCELERATOR_TYPE:(選用)。要附加至各項試驗的加速器類型。
- ACCELERATOR_COUNT:(選用)。要附加至每個試驗的加速器數量。
- REPLICA_COUNT:每個試驗要使用的工作站備用資源數量。
- 如果訓練應用程式在自訂容器中執行,請指定下列項目:
-
CUSTOM_CONTAINER_IMAGE_URI:包含訓練程式碼的 Docker 容器映像檔 URI。瞭解如何建立自訂容器映像檔。 - CUSTOM_CONTAINER_COMMAND:(選用)。容器啟動時要叫用的指令。這項指令會覆寫容器的預設進入點。
- CUSTOM_CONTAINER_ARGS:(選用)。啟動容器時要傳遞的引數。
-
- 如果訓練應用程式是預先建構容器中執行的 Python 套件,請指定下列項目:
- PYTHON_PACKAGE_EXECUTOR_IMAGE_URI:執行所提供 Python 套件的容器映像檔 URI。進一步瞭解用於訓練的預先建構容器。
- PYTHON_PACKAGE_URIS:Python 套件檔案的 Cloud Storage 位置,這些檔案是訓練程式及其依附元件套件。套件 URI 數量上限為 100 個。
- PYTHON_MODULE:安裝套件後要執行的 Python 模組名稱。
- PYTHON_PACKAGE_ARGS:(選用)。要傳遞至 Python 模組的指令列引數。
- SERVICE_ACCOUNT:(選用)。Agent Platform 用來執行程式碼的服務帳戶。進一步瞭解如何 附加自訂服務帳戶。
- TIMEOUT:(選用)。每次試用的執行時間上限。
-
- 為要套用至這項超參數調整工作的任何標籤指定 LABEL_NAME 和 LABEL_VALUE。
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/hyperparameterTuningJobs
JSON 要求主體:
{
"displayName": DISPLAY_NAME,
"studySpec": {
"metrics": [
{
"metricId": METRIC_ID,
"goal": METRIC_GOAL
}
],
"parameters": [
{
"parameterId": PARAMETER_ID,
"scaleType": PARAMETER_SCALE,
// Union field parameter_value_spec can be only one of the following:
"doubleValueSpec": {
"minValue": DOUBLE_MIN_VALUE,
"maxValue": DOUBLE_MAX_VALUE
},
"integerValueSpec": {
"minValue": INTEGER_MIN_VALUE,
"maxValue": INTEGER_MAX_VALUE
},
"categoricalValueSpec": {
"values": [
CATEGORICAL_VALUES
]
},
"discreteValueSpec": {
"values": [
DISCRETE_VALUES
]
}
// End of list of possible types for union field parameter_value_spec.
"conditionalParameterSpecs": [
"parameterSpec": {
CONDITIONAL_PARAMETER
}
// Union field parent_value_condition can be only one of the following:
"parentIntValues": {
"values": [INTEGERS_TO_MATCH]
}
"parentCategoricalValues": {
"values": [CATEGORIES_TO_MATCH]
}
"parentDiscreteValues": {
"values": [DISCRETE_VALUES_TO_MATCH]
}
// End of list of possible types for union field parent_value_condition.
]
}
],
"ALGORITHM": ALGORITHM
},
"maxTrialCount": MAX_TRIAL_COUNT,
"parallelTrialCount": PARALLEL_TRIAL_COUNT,
"maxFailedTrialCount": MAX_FAILED_TRIAL_COUNT,
"trialJobSpec": {
"workerPoolSpecs": [
{
"machineSpec": {
"machineType": MACHINE_TYPE,
"acceleratorType": ACCELERATOR_TYPE,
"acceleratorCount": ACCELERATOR_COUNT
},
"replicaCount": REPLICA_COUNT,
// Union field task can be only one of the following:
"containerSpec": {
"imageUri": CUSTOM_CONTAINER_IMAGE_URI,
"command": [
CUSTOM_CONTAINER_COMMAND
],
"args": [
CUSTOM_CONTAINER_ARGS
]
},
"pythonPackageSpec": {
"executorImageUri": PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,
"packageUris": [
PYTHON_PACKAGE_URIS
],
"pythonModule": PYTHON_MODULE,
"args": [
PYTHON_PACKAGE_ARGS
]
}
// End of list of possible types for union field task.
}
],
"scheduling": {
"TIMEOUT": TIMEOUT
},
"serviceAccount": SERVICE_ACCOUNT
},
"labels": {
LABEL_NAME_1": LABEL_VALUE_1,
LABEL_NAME_2": LABEL_VALUE_2
}
}
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
{
"name": "projects/12345/locations/us-central1/hyperparameterTuningJobs/6789",
"displayName": "myHyperparameterTuningJob",
"studySpec": {
"metrics": [
{
"metricId": "myMetric",
"goal": "MINIMIZE"
}
],
"parameters": [
{
"parameterId": "myParameter1",
"integerValueSpec": {
"minValue": "1",
"maxValue": "128"
},
"scaleType": "UNIT_LINEAR_SCALE"
},
{
"parameterId": "myParameter2",
"doubleValueSpec": {
"minValue": 1e-07,
"maxValue": 1
},
"scaleType": "UNIT_LINEAR_SCALE"
}
],
"ALGORITHM": "RANDOM_SEARCH"
},
"maxTrialCount": 20,
"parallelTrialCount": 1,
"trialJobSpec": {
"workerPoolSpecs": [
{
"machineSpec": {
"machineType": "n1-standard-4"
},
"replicaCount": "1",
"pythonPackageSpec": {
"executorImageUri": "us-docker.pkg.dev/vertex-ai/training/training-tf-cpu.2-1:latest",
"packageUris": [
"gs://my-bucket/my-training-application/trainer.tar.bz2"
],
"pythonModule": "my-trainer.trainer"
}
}
]
}
}
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 Agent Platform 快速入門導覽課程」中的 Java 設定說明操作。
如要向 Agent Platform 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。 詳情請參閱 Python API 參考文件。
超參數訓練工作設定
超參數調整工作會找出最佳超參數組合,盡可能提高指標值。超參數調整工作會使用不同的超參數組合,對訓練應用程式執行多項試驗,藉此找出最佳超參數組合。
設定超參數調整工作時,您必須指定下列詳細資料:
您要調整的超參數,以及用於評估試驗的指標。
如要瞭解要執行的試驗次數,請參閱下列詳細資料:
每次試用執行的無伺服器訓練工作詳細資料,例如:
試驗工作執行的機型,以及工作使用的加速器。
自訂容器或 Python 套件作業的詳細資料。
限制試驗次數
決定要讓服務執行的試驗數量,並在 HyperparameterTuningJob 物件中設定 maxTrialCount 值。
決定允許的試驗次數時,必須考慮兩項利益衝突:
- 時間 (因此也包括成本)
- 準確率
增加測試次數通常可以建立更優質的模型,但並非一概如此。通常在達到某個程度後,再增加測試次數對準確度幾乎沒有影響。開始執行大量試驗的工作前,建議先進行少量試驗,評估所選超參數對模型準確度的影響。
如要充分利用超參數調整,設定的上限值不得低於您使用的超參數數量的十倍。
平行試驗
您可以設定 HyperparameterTuningJob 中的 parallelTrialCount,指定可平行執行的試驗數量。
執行平行試驗的好處是可以縮減訓練工作所需的時間 (實際時間,因為所需的總處理時間通常不會改變)。但平行執行會降低調整工作整體效率。這是因為超參數調整使用之前試驗的結果來告知要指派給後續試驗中超參數的值。平行執行時,因為還在執行中的試驗未產生結果,所以部分試驗開始時無法知道之前的試驗結果,也就無法因此獲益。
如果使用平行試驗,超參數調整服務會佈建多個訓練處理叢集 (或在單一處理訓練程式的情況下佈建多台獨立機器)。您為工作設定的工作集區規格,會用於每個訓練叢集。
處理失敗的試驗
如果超參數調整試驗在結束時發生錯誤,您可能會希望提早結束訓練工作。在 HyperparameterTuningJob 中設定 maxFailedTrialCount 欄位,指定允許的試驗失敗次數。一旦超過這個試驗失敗的次數,Agent Platform 就會結束訓練工作。maxFailedTrialCount 值必須小於或等於 maxTrialCount。
如未設定 maxFailedTrialCount 或將其設為 0,Agent Platform 會依照下列規則來處理失敗試驗:
- 如果工作的第一個試驗失敗了,Agent Platform 就會立即結束工作。第一次試驗就失敗意味著您的訓練程式碼可能有問題,所以進一步的試驗也可能會失敗。您可以透過結束工作來診斷問題,而不用等到所有試驗都完成後再進行診斷,以免產生多餘的費用。
- 如果第一個試驗成功了,但只要符合以下其中一個條件,Agent Platform 也可能會在後續試驗失敗後結束工作:
- 失敗試驗的次數太多了。
- 失敗試驗相對於成功試驗的比例太高了。
這些規則可能會隨時變動,為確保行為的一致性,請設定 maxFailedTrialCount 欄位。
管理超參數調整工作
以下各節說明如何管理超參數調整工作。
擷取超參數調整工作的相關資訊
下列程式碼範例示範如何擷取超參數調整工作。
gcloud
使用 gcloud ai hp-tuning-jobs describe 指令:
gcloud ai hp-tuning-jobs describe ID_OR_NAME \
--region=LOCATION
更改下列內容:
ID_OR_NAME:HyperparameterTuningJob的名稱或數值 ID。(ID 是名稱的最後一部分)。您在建立
HyperparameterTuningJob時可能已看過 ID 或名稱。如果您不知道 ID 或名稱,可以執行gcloud ai hp-tuning-jobs list指令,然後尋找適當的資源。LOCATION:建立HyperparameterTuningJob的區域。
REST
使用下列程式碼範例,透過
hyperparameterTuningJob 資源的 get 方法
,擷取超參數調整工作。
使用任何要求資料之前,請先修改下列項目的值:
-
LOCATION:建立HyperparameterTuningJob的區域。 - NAME:超參數調整工作的名稱。工作名稱的格式如下:
projects/{project}/LOCATIONS/{LOCATION}/hyperparameterTuningJobs/{hyperparameterTuningJob}。
HTTP 方法和網址:
GET https://LOCATION-aiplatform.googleapis.com/v1/NAME
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
{
"name": "projects/12345/LOCATIONs/us-central1/hyperparameterTuningJobs/6789",
"displayName": "my-hyperparameter-tuning-job",
"studySpec": {
"metrics": [
{
"metricId": "my_metric",
"goal": "MINIMIZE"
}
],
"parameters": [
{
"parameterId": "my_parameter",
"doubleValueSpec": {
"minValue": 1e-05,
"maxValue": 1
}
}
]
},
"maxTrialCount": 3,
"parallelTrialCount": 1,
"trialJobSpec": {
"workerPoolSpecs": [
{
"machineSpec": {
"machineType": "n1-standard-4"
},
"replicaCount": "1",
"pythonPackageSpec": {
"executorImageUri": "us-docker.pkg.dev/vertex-ai/training/training-tf-cpu.2-1:latest",
"packageUris": [
"gs://my-bucket/my-training-application/trainer.tar.bz2"
],
"pythonModule": "my-trainer.trainer"
}
}
]
},
"trials": [
{
"id": "2",
"state": "SUCCEEDED",
"parameters": [
{
"parameterId": "my_parameter",
"value": 0.71426874725564571
}
],
"finalMeasurement": {
"stepCount": "2",
"metrics": [
{
"metricId": "my_metric",
"value": 0.30007445812225342
}
]
},
"startTime": "2020-09-09T23:39:15.549112551Z",
"endTime": "2020-09-09T23:47:08Z"
},
{
"id": "3",
"state": "SUCCEEDED",
"parameters": [
{
"parameterId": "my_parameter",
"value": 0.3078893356622992
}
],
"finalMeasurement": {
"stepCount": "2",
"metrics": [
{
"metricId": "my_metric",
"value": 0.30000102519989014
}
]
},
"startTime": "2020-09-09T23:49:22.451699360Z",
"endTime": "2020-09-09T23:57:15Z"
},
{
"id": "1",
"state": "SUCCEEDED",
"parameters": [
{
"parameterId": "my_parameter",
"value": 0.500005
}
],
"finalMeasurement": {
"stepCount": "2",
"metrics": [
{
"metricId": "my_metric",
"value": 0.30005377531051636
}
]
},
"startTime": "2020-09-09T23:23:12.283374629Z",
"endTime": "2020-09-09T23:36:56Z"
}
],
"state": "JOB_STATE_SUCCEEDED",
"createTime": "2020-09-09T23:22:31.777386Z",
"startTime": "2020-09-09T23:22:34Z",
"endTime": "2020-09-10T01:31:24.271307Z",
"updateTime": "2020-09-10T01:31:24.271307Z"
}
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 Agent Platform 快速入門導覽課程」中的 Java 設定說明操作。
如要向 Agent Platform 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。 詳情請參閱 Python API 參考文件。
取消超參數調整工作
下列程式碼範例示範如何取消超參數調整作業。
gcloud
使用 gcloud ai hp-tuning-jobs cancel 指令:
gcloud ai hp-tuning-jobs cancel ID_OR_NAME \
--region=LOCATION
更改下列內容:
ID_OR_NAME:HyperparameterTuningJob的名稱或數值 ID。(ID 是名稱的最後一部分)。您在建立
HyperparameterTuningJob時可能已看過 ID 或名稱。如果您不知道 ID 或名稱,可以執行gcloud ai hp-tuning-jobs list指令,然後尋找適當的資源。LOCATION:建立HyperparameterTuningJob的區域。
REST
使用下列程式碼範例,透過
hyperparameterTuningJob 資源的 cancel 方法取消超參數調整工作。
使用任何要求資料之前,請先修改下列項目的值:
-
LOCATION:建立HyperparameterTuningJob的區域。 - NAME:超參數調整工作的名稱。工作名稱的格式如下:
projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameterTuningJob}。
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/NAME:cancel
請展開以下其中一個選項,以傳送要求:
您應該會收到執行成功的狀態碼 (2xx) 和空白回應。
Python
如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。 詳情請參閱 Python API 參考文件。
刪除超參數調整工作
下列程式碼範例說明如何使用 Agent Platform SDK for Python 和 REST API 刪除超參數調整作業。
REST
使用下列程式碼範例,透過
hyperparameterTuningJob 資源的 delete 方法刪除超參數調整工作。
使用任何要求資料之前,請先修改下列項目的值:
- LOCATION:您的區域。
- NAME:超參數調整工作的名稱。工作名稱的格式如下:
projects/{project}/LOCATIONs/{LOCATION}/hyperparameterTuningJobs/{hyperparameterTuningJob}。
HTTP 方法和網址:
DELETE https://LOCATION-aiplatform.googleapis.com/v1/NAME
請展開以下其中一個選項,以傳送要求:
您應該會收到執行成功的狀態碼 (2xx) 和空白回應。
Python
如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。 詳情請參閱 Python API 參考文件。
後續步驟
- 進一步瞭解超參數調整的相關概念。
- 瞭解如何根據資源可用性排定無伺服器訓練工作。