TensorBoard 使用 sagemaker.interactive_apps.tensorboard 模組開啟 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

TensorBoard 使用 sagemaker.interactive_apps.tensorboard 模組開啟

sagemaker.interactive_apps.tensorboard 模組提供名為 的函數get_app_url,可產生未簽署或預先簽署URLs,以在 SageMaker 或 Amazon 的任何環境中開啟 TensorBoard 應用程式EC2。這是為了為 Studio Classic 和非 Studio Classic 使用者提供統一的體驗。對於 Studio 環境,您可以像現在一樣執行 get_app_url()函數 TensorBoard 來開啟 ,也可以指定任務名稱,以在 TensorBoard 應用程式開啟時開始追蹤。對於非 Studio Classic 環境,您可以向公用程式提供網域和使用者設定檔資訊來開啟 TensorBoard 。使用此功能,無論您執行訓練程式碼和啟動訓練任務的位置或方式為何,都可以 TensorBoard 直接存取 Jupyter 筆記本或終端機中的 get_app_url 函數。

注意

此功能可在 SageMaker Python v2SDK.184.0 及更新版本中使用。若要使用此功能,請務必執行 SDK來升級 pip install sagemaker --upgrade

選項 1:適用於 SageMaker Studio Classic

如果您使用的是 SageMaker Studio Classic,您可以直接開啟 TensorBoard應用程式,或執行 get_app_url函數URL來擷取未簽署的應用程式,如下所示。由於您已在 Studio Classic 環境中並以網域使用者身分登入, get_app_url()會產生未簽署的 ,URL因為不需要再次驗證。

開啟 TensorBoard 應用程式

下列程式碼會自動從get_app_url()函數URL在環境的預設 Web 瀏覽器中傳回的未簽署應用程式開啟 TensorBoard 應用程式。

from sagemaker.interactive_apps import tensorboard region = "us-west-2" app = tensorboard.TensorBoardApp(region) app.get_app_url( training_job_name="your-training_job_name" # Optional. Specify the job name to track a specific training job )

若要擷取未簽署的應用程式URL,並手動開啟 TensorBoard應用程式

下列程式碼會列印未簽署的 URL ,您可以複製到 Web 瀏覽器並開啟 TensorBoard 應用程式。

from sagemaker.interactive_apps import tensorboard region = "us-west-2" app = tensorboard.TensorBoardApp(region) print("Navigate to the following URL:") print( app.get_app_url( training_job_name="your-training_job_name", # Optional. Specify the name of the job to track. open_in_default_web_browser=False # Set to False to print the URL to terminal. ) )

請注意,如果您在 SageMaker Studio Classic 環境之外執行上述兩個程式碼範例,函數會將 傳回URL至 TensorBoard SageMaker 主控台中的登陸頁面,因為這些範例不會將登入資訊傳回至您的網域和使用者設定檔。如需建立預先簽章的 URL,請參閱下一節中的選項 2。

選項 2:適用於非 Studio Classic 環境

如果您使用非 Studio Classic 環境,例如 SageMaker 筆記本執行個體或 Amazon EC2,並想要 TensorBoard 直接從您所在的環境中開啟,則需要產生具有網域和使用者設定檔資訊的URL預先簽章。預先簽章URL是在使用網域和使用者設定檔URL建立 時登入 Amazon SageMaker Studio Classic URL的 ,因此准許存取與您網域相關聯的所有網域應用程式和檔案。若要 TensorBoard 透過預先簽章的 開啟 URL,請使用 get_app_url函數搭配您的網域和使用者設定檔名稱,如下所示。

請注意,此選項需要網域使用者擁有 sagemaker:CreatePresignedDomainUrl許可。如果沒有許可,網域使用者將收到例外錯誤。

重要

請勿共用任何預先簽章的 URLs。get_app_url 函數會建立預先簽章的 URLs,它會自動使用您的網域和使用者設定檔進行身分驗證,並可讓您存取與網域相關聯的任何應用程式和檔案。

print( app.get_app_url( training_job_name="your-training_job_name", # Optional. Specify the name of the job to track. create_presigned_domain_url=True, # Reguired to be set to True for creating a presigned URL. domain_id="your-domain-id", # Required if creating a presigned URL (create_presigned_domain_url=True). user_profile_name="your-user-profile-name", # Required if creating a presigned URL (create_presigned_domain_url=True). open_in_default_web_browser=False, # Optional. Set to False to print the URL to terminal. optional_create_presigned_url_kwargs={} # Optional. Add any additional args for Boto3 create_presigned_domain_url ) )
提示

get_app_url 函數SageMaker.Client.create_presigned_domain_urlAPI會在後端的 AWS SDK for Python (Boto3) 中執行 。當 Boto3 create_presigned_domain_urlAPI建立預設在 300 秒內URLs過期的預先簽章網域時,預先簽章 TensorBoard 的應用程式URLs也會在 300 秒內過期。如果要延長到期時間,請將ExpiresInSeconds引數發送至get_app_url功能的optional_create_presigned_url_kwargs參數,如下所示。

optional_create_presigned_url_kwargs={"ExpiresInSeconds": 1500}
注意

如果傳遞至 引數的任何輸入get_app_url無效,函數會將 輸出URL至 TensorBoard 登陸頁面,而不是開啟 TensorBoard 應用程式。輸出訊息可能類似以下內容。

Navigate to the following URL: https://us-west-2.console.aws.amazon.com/sagemaker/home?region=us-west-2#/tensor-board-landing