本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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_url
create_presigned_domain_url
API建立預設在 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