本節說明如何在 Vertex AI Workbench 執行個體中建立 Jupyter 筆記本。Vertex AI Workbench 執行個體是以 Jupyter 筆記本為基礎的開發環境,支援整個數據資料學工作流程。Vertex AI Workbench 執行個體已預先安裝 JupyterLab,且預先安裝一套深度學習套件,支援 TensorFlow 和 PyTorch 架構。詳情請參閱「Vertex AI Workbench 執行個體簡介」。
在 Vertex AI Workbench 中建立筆記本後,您可以依序執行 Python 程式碼,完成產生預測結果的大部分工作。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Notebooks APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Notebooks APIs.
在 Google Cloud 控制台 Google Cloud 中開啟專案 (如果尚未開啟)。
前往 Google Cloud 控制台的 Vertex AI Workbench「Instances」頁面。
如果畫面上出現啟用 Notebooks API 的選項,請按一下「啟用」。啟用程序可能需要幾分鐘才能完成。
按一下「建立新項目」
。在「New instance」對話方塊的「Name」 中,輸入執行個體的名稱。
「Region」(區域),選取「us-central1 (Iowa)」(s-central1 (愛荷華州))。
在「Zone」(區域) 中選取 [us-central1-a]。
按一下「建立」,如要進一步瞭解執行個體,請在執行個體清單中找到該執行個體後,按一下名稱查看其屬性。
前往 Google Cloud 控制台的「Instances」(執行個體) 頁面。
按一下執行個體名稱旁的「Open JupyterLab」。
Vertex AI Workbench 執行個體會開啟 JupyterLab 環境。
在 JupyterLab 中,依序選取「File」>「New」>「Notebook」。
系統會開啟新的筆記本檔案,並顯示「Select kernel」對話方塊。
在「Select kernel」對話方塊中,選取「Python 3」核心。
在 JupyterLab 的左側導覽窗格中,找出名為 Untitled.ipynb 的新筆記本。如要重新命名,請按一下筆記本名稱旁的滑鼠右鍵,點選「重新命名」,然後輸入新名稱。
建立 Vertex AI Workbench 執行個體
如要建立 Vertex AI Workbench 執行個體,請按照下列步驟操作:
準備筆記本
您的 Vertex AI Workbench 執行個體已通過驗證,可使用您的 Google Cloud 專案。不過,您必須安裝並初始化 Python 適用的 Vertex AI SDK。本節將逐步說明這些步驟。
建立 Notebook 後,您可以使用 Notebook 輸入並執行本教學課程中的程式碼片段。每個程式碼片段都必須依序個別執行。
建立及開啟筆記本
您可以在筆記本中執行本教學課程的程式碼。這個檔案的副檔名為 .ipynb
。建立時,系統會將標題設為空白。開啟後,您可以重新命名。如要建立及開啟筆記本,請按照下列步驟操作:
安裝 Vertex AI SDK for Python
開啟筆記本後,您必須安裝 Python 適用的 Vertex AI SDK。您可以使用 Vertex AI SDK for Python 發出 Vertex AI API 呼叫,建立資料集、建立模型、訓練及部署模型,並使用模型進行預測。詳情請參閱「使用 Python 適用的 Vertex AI SDK」。
安裝 Vertex AI SDK for Python 時,也會一併安裝其依附的其他 Google Cloud SDK。本教學課程會使用其中兩個 SDK:
Cloud Storage:使用 Python 適用的 Vertex AI SDK 呼叫 Vertex AI API 時,Vertex AI 會將構件儲存在 Cloud Storage 值區中。這個桶稱為「暫存桶」。您可以在初始化 Python 適用的 Vertex AI SDK 時指定測試版集區。詳情請參閱 Google Cloud storage API 的 Python 用戶端。
BigQuery - Vertex AI 會使用 BigQuery 公開資料集訓練模型。您必須安裝 BigQuery SDK,才能存取及下載本教學課程中使用的資料集。詳情請參閱「BigQuery API 用戶端程式庫」。
如要安裝 Vertex AI SDK for Python 及其依附的 SDK,請執行下列程式碼。
# Install the Vertex AI SDK
! pip3 install --upgrade --quiet google-cloud-aiplatform
--quiet
標記會抑制輸出內容,因此只會顯示錯誤 (如果有)。驚嘆號 (!
) 表示這是殼層指令。
由於這是您在新的筆記本中執行的第一個程式碼,因此請將程式碼輸入筆記本頂端的空白程式碼儲存格中。在程式碼儲存格中輸入程式碼後,請按一下 Shift + Enter
執行程式碼。
在您繼續完成本教學課程時,請在空白程式碼儲存格中執行程式碼,該儲存格會自動顯示在最近執行的程式碼下方。如要手動新增程式碼儲存格,請點選筆記本檔案的
「插入下方儲存格」按鈕。
設定專案 ID 和區域
在這個步驟中,您會設定專案 ID 和地區。您必須先將這些值指派給變數,方便日後在本教學課程中參照。接下來,您將使用 gcloud config
指令為 Google Cloud 工作階段設定這些值。稍後,您會使用這些值和 Cloud Storage 值區 URI 初始化 Vertex AI SDK for Python。
設定專案 ID
如要設定專案 ID,請按照下列步驟操作:
找出您的 Google Cloud 專案 ID。詳情請參閱「找出專案 ID」。
在筆記本的程式碼儲存格中執行下列程式碼。在程式碼中,將 PROJECT_ID 替換為您剛剛找到的專案 ID。這個指令產生的輸出內容是
Updated property [core/project].
project_id = "PROJECT_ID" # @param {type:"string"} # Set the project id ! gcloud config set project ${project_id}
設定區域
本教學課程使用 us-central1
區域。如要設定區域,請執行下列操作:
執行下列程式碼,將 Vertex AI 使用的
region
變數設為us-central1
。這個指令不會產生輸出內容。詳情請參閱「選擇位置」。region = "us-central1" # @param {type: "string"}
建立 Cloud Storage 值區
本教學課程需要 Cloud Storage 值區,供 Vertex AI 用於階段化構件。Vertex AI 會將與您建立的資料集和模型資源相關聯的資料儲存在暫存桶中。這項資料會保留,並可跨工作階段使用。在本教學課程中,Vertex AI 也會將資料集儲存在暫存值區中。您可以在初始化 Vertex AI SDK for Python 時指定暫存桶。
每個 Cloud Storage 值區名稱在全域範圍內都不可重複。如果選擇的名稱已被使用,建立值區的指令就會失敗。以下程式碼使用日期時間戳記和專案名稱,建立不重複的值區名稱。您可以將值區名稱附加至 gs://
,建立 Cloud Storage 值區的 URI。echo
殼層指令會顯示 URI,讓您確認 URI 是否正確建立。
如要設定 bucket 的名稱和 URI,請執行下列程式碼。最後一行會顯示 Cloud Storage 值區的 URI。
bucket_name = "bucket-name-placeholder" # @param {type:"string"} bucket_uri = f"gs://{bucket_name}" from datetime import datetime timestamp = datetime.now().strftime("%Y%m%d%H%M%S") if bucket_name == "" or bucket_name is None or bucket_name == "bucket-name-placeholder": bucket_name = project_id + "aip-" + timestamp bucket_uri = "gs://" + bucket_name ! echo $bucket_uri
如要使用 Cloud Storage 用戶端程式庫和值區 URI 建立值區,請執行下列程式碼。這個程式碼不會產生輸出內容。
from google.cloud import storage client = storage.Client(project=project_id) # Create a bucket bucket = client.create_bucket(bucket_name, location=region)
如要確認值區是否已成功建立,請執行下列指令:
print("Bucket {} created.".format(bucket.name))
初始化 Python 適用的 Vertex AI SDK
如要初始化 Vertex AI SDK for Python,請先匯入其程式庫 aiplatform
。接下來,您可以呼叫 aiplatform.init
,並傳入下列參數的值:
project
:當您使用 Vertex AI SDK for Python 呼叫 Vertex AI API 時,project
會指定要使用的 Google Cloud 專案。在本教學課程中,您會指定 Google Cloud 專案名稱。您也可以使用專案編號指定專案。location
:location
會指定您在發出 API 呼叫時要使用的 Google Cloud 區域。如果您未指定位置,Python 適用的 Vertex AI SDK 會使用us-central1
。staging_bucket
:當您使用 Vertex AI SDK for Python 時,staging_bucket
會指定用於階段化構件集的 Cloud Storage 值區。您可以使用開頭為gs://
的 URI 指定值區。在本教學課程中,您將使用先前在「建立 Cloud Storage 值區」一節中建立的 URI。
如要設定 Google Cloud 專案、區域和測試環境值區,請執行下列指令。這個指令不會產生輸出內容。
from google.cloud import aiplatform
# Initialize the Vertex AI SDK
aiplatform.init(project=project_id, location=region, staging_bucket=bucket_uri)
初始化 BigQuery
本教學課程會使用 BigQuery 的企鵝公開資料集來訓練模型。Vertex AI 訓練模型後,您會指定代表企鵝特徵的參數,而模型會利用這些特徵預測代表的企鵝種類。如要進一步瞭解公開資料集,請參閱 BigQuery 公開資料集。
在使用 BigQuery 資料集之前,您必須使用專案 ID 初始化 BigQuery。如要執行這項操作,請執行下列指令。這個指令不會產生輸出內容。
from google.cloud import bigquery
# Set up BigQuery client
bq_client = bigquery.Client(project=project_id)