管理模型與工作

在訓練和部署模型及取得預測結果的過程中,您必須在 Google Cloud Platform 上管理資源。本頁面說明如何使用模型、版本及工作。

建立模型、版本及工作的名稱

您必須為每個建立的模型、版本和工作指定名稱。這三種資源類型的命名規則都相同。每個名稱:

  • 只能由字母、數字和底線組成。
  • 須區分大小寫。
  • 開頭必須為字母。
  • 長度不得超過 128 個字元。
  • 名稱在命名空間 (如為模型和工作,則指專案;如為版本,則指父項模型) 中不得重複。

您應建立能夠輕鬆在資源清單 (例如工作記錄) 中區別出來的名稱。請參考以下建議:

  • 使用模型名稱和工作索引 (建立工作時順利產生的時間戳記),為同一模型的所有工作命名。
  • 為模型命名,讓這些模型可以依模型使用的資料集輕易識別 (例如通常 census_wide_deepmy_new_model 好)。
  • 如果可以讀取版本資訊,最好使用版本。我們建議不要使用時間戳記或不重複的類似值,而使用簡單的版本標識符 (例如 v1v0.2.4)。

管理模型

AI Platform 中的模型資源是個別機器學習模型實作的邏輯容器。這些是最易於使用的資源,因為不需複雜的作業或額外分配和維護資源。

下表摘要說明模型作業,並列出您可以用來執行這些作業的介面:

作業 介面 附註
create projects.models.create
gcloud ai-platform models create
AI Platform「Models」(模型) 頁面上的 [Create Model] (建立模型)
delete projects.models.delete

刪除模型是一項長時間執行的作業

模型必須沒有相關聯的版本才能刪除。

gcloud ai-platform models delete
「Models」(模型) 清單或「Model details」(模型詳細資料) 頁面上的 [Delete] (刪除)
get projects.models.get

您取得的資訊描述於 Model 資源參考資料中。

gcloud ai-platform models describe
「Model details」(模型詳細資料) 頁面 (使用「Models」(模型) 清單中的連結進入)。
list projects.models.list
gcloud ai-platform models list
AI Platform「Models」(模型) 頁面

管理版本

您的版本是模型的特定疊代。模型版本的核心是 TensorFlow SavedModel。

下表概要說明版本作業,並列出您可以用來執行這些作業的介面:

作業 介面 附註
create projects.models.versions.create

建立版本是將 SavedModel 部署到 AI Platform。詳情請參閱模型部署指南

gcloud ai-platform versions create
「Model details」(模型詳細資料) 頁面上的 [Create Version] (建立版本) (使用「Models」(模型) 清單中的連結進入)。
delete projects.models.versions.delete

刪除版本是一項長時間執行的作業

您不能刪除模型的預設板本,除非它是唯一指派給這個模型的版本。

gcloud ai-platform versions delete
「Model details」(模型詳細資料) 頁面上「Versions」(版本) 清單中的 [Delete] (刪除)
get projects.models.versions.get

您取得的資訊描述於 Version 資源參考資料中。

gcloud ai-platform versions describe
「Version details」(版本詳細資料) 頁面 (在「Model details」(模型詳細資料) 頁面上,使用「Versions」(版本) 清單中的連結進入)。
list projects.models.versions.list
gcloud ai-platform versions list
「Model details」(模型詳細資料) 頁面的「Versions」(版本) 清單。
setDefault projects.models.versions.setDefault

這是唯一可以為模型指派新預設版本的方式;第一次之後,建立版本就不會將新版本設為預設值。

gcloud ai-platform versions set-default
「Model details」(模型詳細資料) 頁面上「Versions」(版本) 清單中的 [Set as default] (設為預設值)

管理工作

AI Platform 支援兩種類型的工作:訓練和批次預測。每個工作的詳細資料不一樣,但基本作業都相同。

下表摘要說明工作作業,並列出您可以用來執行這些作業的介面:

作業 介面 附註
create projects.jobs.create

如需建立工作的詳細說明,請參閱訓練批次預測指南。

gcloud ai-platform jobs submit training

gcloud ai-platform jobs submit prediction

沒有主控台實作介面。
cancel projects.jobs.cancel

取消正在執行的工作。

gcloud ai-platform jobs cancel

「Jobs details」(工作詳細資料) 頁面上的 [Stop] (停止)
get projects.jobs.get 您取得的資訊描述於 Jobs 資源參考資料中。

gcloud ai-platform jobs describe

「Job details」(工作詳細資料) 頁面 (使用「Jobs」(工作) 清單中的連結進入)。
list projects.jobs.list

gcloud ai-platform jobs list

「Jobs」(工作) 清單

處理非同步作業

大部分 AI Platform 資源管理作業都會盡快傳回並提供完整回應。但您應瞭解下列兩種類型的非同步作業:工作和長時間執行的作業。

開始非同步作業時,您通常會想知道作業何時完成。工作和長時間執行的作業取得狀態的過程不同:

取得工作的狀態

您可以使用 projects.jobs.get 來取得工作狀態。這個方法也會以 gcloud ai-platform jobs describe 的形式提供,並顯示於 Google Cloud Platform 主控台中的「Jobs」(工作) 頁面。不論您以何種方式取得狀態,資訊都是以 Job 資源的成員為基礎。當回應中的 Job.state 等於下列其中一個值時,您就知道工作已經完成:

  • SUCCEEDED
  • FAILED
  • CANCELLED

取得長時間執行作業的狀態

AI Platform 有三種長時間執行的作業:

  • 建立版本
  • 刪除模型
  • 刪除版本

在這些長時間執行的作業中,只有建立版本可能要耗費許多時間才能完成。刪除模型和版本通常幾乎是即時完成。

如果您使用 gcloud 指令列工具或 GCP 主控台來建立版本,則介面會在作業完成時自動通知您。如果您使用 API 建立版本,則可以自行追蹤作業狀態:

  1. projects.models.versions.create 呼叫的回覆中的 Operation 物件取得由服務指派的作業名稱。名稱值的索引鍵是 "name"

  2. 使用 projects.operations.get 定期輪詢作業狀態。

    1. 使用第一個步驟中的作業名稱,建立下列格式的名稱字串:

      'projects/my_project/operations/operation_name'
      

      回應訊息包含 Operation 物件。

    2. 取得 "done" 索引鍵的值。這是作業完成的布林指標。如果作業完成,則其值為 true。

  3. Operation 物件在完成時會含有以下其中一個索引鍵:

    • 如果作業成功,則會出現 "response" 索引鍵,其值應為 google.protobuf.Empty,因為沒有任何 AI Platform 長時間執行的作業有回覆物件。

    • 如果發生錯誤,則會出現 "error" 索引鍵,其值是一個 Status 物件。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
TensorFlow 適用的 AI Platform