本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
TensorBoard 使用sagemaker.interactive_apps.tensorboard
模块打开
该sagemaker.interactive_apps.tensorboard
模块提供了一个名为的函数get_app_url
,该函数生成未签名或预签名URLs,以便在或 SageMaker Amazon 的任何环境中打开 TensorBoard 应用程序。EC2这是为了为 Studio Classic 和非 Studio Classic 用户提供统一的体验。对于 Studio 环境,您可以 TensorBoard 按原样运行get_app_url()
函数来打开,也可以指定作业名称以便在 TensorBoard 应用程序打开时开始跟踪。对于非 Studio Classic 环境,您可以 TensorBoard通过向实用程序功能提供您的域和用户配置文件信息来打开。有了此功能,无论您在何处或以何种方式运行训练代码和启动训练作业,都可以 TensorBoard 通过在 Jupyter 笔记本或终端中运行该get_app_url
功能来直接访问。
注意
此功能在 SageMaker Python 版本 SDK 2.184.0 及更高版本中可用。要使用此功能,请确保SDK通过运行进行升级pip
install sagemaker --upgrade
。
选项 1:适用于经典 SageMaker工作室
如果您使用的是 SageMaker Studio Classic,则可以直接打开 TensorBoard应用程序或URL通过运行get_app_url
函数来检索未签名的应用程序,如下所示。由于您已经在 Studio Classic 环境中并以域用户身份登录,因此无需再次进行身份验证,URL因此get_app_url()
会生成未签名的结果。
打开 TensorBoard 应用程序
以下代码会自动从该get_app_url()
函数在环境的默认 Web 浏览器中返回的未签名URL文件打开 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到 SageMaker 控制台的 TensorBoard登录页面,因为这些示例没有您的域名和用户个人资料的登录信息。要创建预签名URL,请参阅下一节中的选项 2。
选项 2:适用于非 Studio 经典版环境
如果您使用非 Studio Classic 环境(例如 SageMaker Notebook 实例或 AmazonEC2),并且想要 TensorBoard 直接从您所在的环境中打开,则需要生成包含您的域和用户个人资料信息的URL预签名文件。预签名URL是在使用您的域名和用户个人资料创建时登录到 Amazon SageMaker Studio Classic,因此被授予访问与您的域关联的所有域应用程序和文件的权限。URL 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