

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# TensorBoard 在亚马逊 A SageMaker I 中
<a name="tensorboard-on-sagemaker"></a>

Amazon SageMaker AI TensorBoard with 是 Amazon SageMaker AI 的一项功能，它将[TensorBoard](https://www.tensorflow.org/tensorboard)可视化工具引入 SageMaker 人工智能，并与 SageMaker 训练和域集成。它提供了通过 [SageMaker AI 域管理您的 AWS 账户和属于该账户的用户的选项，为域](https://docs.aws.amazon.com/sagemaker/latest/dg/sm-domain.html)用户授予对 Amazon S3 的适当权限访问 TensorBoard 数据的权限，并帮助域用户使用 TensorBoard 可视化插件执行模型调试任务。 SageMaker AI w TensorBoard ith 通过 SageMaker AI Data Manager 插件进行了扩展，通过该插件，域用户可以在 TensorBoard应用程序中的一个位置访问多个训练作业。

**注意**  
此功能用于使用 PyTorch 或调试深度学习模型的训练 TensorFlow。

**对于数据科学家**

训练大型模型可能存在科学问题，需要数据科学家进行调试并予以解决，以改善模型收敛性并使梯度下降过程稳定。

当您遇到损失不收敛、权重和梯度消失或迸发等模型训练问题时，需要访问张量数据来深入探究和分析模型参数、标量和任何自定义指标。将 SageMaker AI 与配合使用 TensorBoard，您可以可视化从训练作业中提取的模型输出张量。当你尝试不同的模型、多个训练运行和模型超参数时，你可以在一个地方选择多个训练作业 TensorBoard 并进行比较。

**对于管理员**

如果您是 AWS 账户或 SageMaker A [SageMaker I 域](https://docs.aws.amazon.com/sagemaker/latest/dg/sm-domain.html)的管理员，则可以通过 AI 控制台或 SageMaker AI 域中的 TensorBoard 登录页面管理 TensorBoard 应用程序用户。只要获得授予的权限，每个域用户都可以访问自己的 TensorBoard 应用程序。作为 A SageMaker I 域管理员和域用户，您可以根据自己的权限级别创建和删除 TensorBoard 应用程序。

**注意**  
您无法出于协作目的共享 TensorBoard 应用程序，因为 SageMaker AI 域不允许在用户之间共享应用程序。如果用户有权访问 S3 存储桶，则可以共享 S3 存储桶中保存的输出张量。

## 支持的框架和 AWS 区域
<a name="debugger-htb-support"></a>

 SageMaker 人工智能中的 TensorBoard 应用程序可用于以下机器学习框架和 AWS 区域.

**框架**
+ PyTorch
+ TensorFlow
+ Hugging Face Transformers

**AWS 区域**
+ 美国东部（弗吉尼亚州北部）(`us-east-1`)
+ 美国东部（俄亥俄州）(`us-east-2`)
+ 美国西部（俄勒冈州）(`us-west-2`)
+ 欧洲地区（法兰克福）(`eu-central-1`)
+ 欧洲地区（爱尔兰）(`eu-west-1`)

**注意**  
Amazon SageMaker AI 在`ml.r5.large`实例上 TensorBoard 运行，在 SageMaker AI 免费套餐或该功能的免费试用期结束后产生费用。有关更多信息，请参阅 [Amazon A SageMaker I 定价](https://aws.amazon.com/sagemaker/pricing/)。

**Topics**
+ [支持的框架和 AWS 区域](#debugger-htb-support)
+ [准备训练作业以收集 TensorBoard 输出数据](debugger-htb-prepare-training-job.md)
+ [在 SageMaker AI 上访问 TensorBoard 应用程序](debugger-htb-access-tb.md)
+ [使用应用程序加载和可视化输出张量 TensorBoard](debugger-htb-access-tb-data.md)
+ [删除未使用的 TensorBoard 应用程序](debugger-htb-delete-app.md)

# 准备训练作业以收集 TensorBoard 输出数据
<a name="debugger-htb-prepare-training-job"></a>

 SageMaker 人工智能机器学习的典型训练任务包括两个主要步骤：准备训练脚本和配置 AI SageMaker Python SDK 的 SageMaker AI 估算器对象。在本节中，您将了解从 SageMaker 训练作业中收集 TensorBoard兼容数据所需的更改。

## 先决条件
<a name="debugger-htb-prerequisites"></a>

以下列表显示了开始使用 SageMaker AI 的先决条件 TensorBoard。
+ 在您的 AWS 账户中使用 SageMaker Amazon VPC 设置的 AI 域。

  有关设置域名的说明，请参阅[使用快速设置登录到 Amazon SageMaker AI 域](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-quick-start.html)。您还需要添加域用户配置文件，以便个人用户访问 SageMaker AI TensorBoard 上的。有关更多信息，请参阅 [添加用户配置文件](domain-user-profile-add.md)。
+ 以下列表是在 SageMaker AI TensorBoard 上使用的最低权限集。
  + `sagemaker:CreateApp`
  + `sagemaker:DeleteApp`
  + `sagemaker:DescribeTrainingJob`
  + `sagemaker:Search`
  + `s3:GetObject`
  + `s3:ListBucket`

## 第 1 步：使用开源 TensorBoard 帮助工具修改训练脚本
<a name="debugger-htb-prepare-training-job-1"></a>

确保确定要收集哪些输出张量和标量，并使用以下任何工具修改训练脚本中的代码行： TensorBoardX、Summary Writer、 TensorFlow Summary Writer 或 SageMaker Debugger。 PyTorch 

另外，请确保将 TensorBoard 数据输出路径指定为训练容器中回调的日志目录 (`log_dir`)。

有关每个框架的回调的更多信息，请参阅以下资源。
+ 对于 PyTorch，请使用 [torch.utils.tensorboard。 SummaryWriter](https://pytorch.org/docs/stable/tensorboard.html#module-torch.utils.tensorboard)。另请参阅*PyTorch教程*中的 “[ TensorBoard 在中使用](https://pytorch.org/tutorials/recipes/recipes/tensorboard_with_pytorch.html#using-tensorboard-in-pytorch)” PyTorch 和 “[记录标量](https://pytorch.org/tutorials/recipes/recipes/tensorboard_with_pytorch.html#log-scalars)” 部分。或者，您可以使用 [TensorBoardX 摘要编写器](https://tensorboardx.readthedocs.io/en/latest/tutorial.html)。

  ```
  LOG_DIR="/opt/ml/output/tensorboard"
  tensorboard_callback=torch.utils.tensorboard.writer.SummaryWriter(log_dir=LOG_DIR)
  ```
+ 对于 TensorFlow，请使用 [tf.keras.callbacks 的 TensorBoard本机回调。 TensorBoard](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/TensorBoard)。

  ```
  LOG_DIR="/opt/ml/output/tensorboard"
  tensorboard_callback=tf.keras.callbacks.TensorBoard(
      log_dir=LOG_DIR, histogram_freq=1)
  ```
+ 对于《变形金刚》 PyTorch，你可以使用[变形金刚.integrations。 TensorBoardCallback](https://huggingface.co/docs/transformers/main/en/main_classes/callback#transformers.integrations.TensorBoardCallback)。

  对于带有 “变形金刚” TensorFlow，使用`tf.keras.tensorboard.callback`，然后将其传递给变形金刚中的 keras 回调。
**提示**  
您还可以使用其他容器本地输出路径。但是，在中[第 2 步：使用 SageMaker 输出配置创建训练估算器 TensorBoard 对象](#debugger-htb-prepare-training-job-2)，您必须正确映射路径， SageMaker AI 才能成功搜索本地路径并将 TensorBoard 数据保存到 S3 输出存储桶。
+ 有关使用 SageMaker 调试器 Python 库修改训练脚本的指导，请参阅[调整训练脚本，注册钩子](debugger-modify-script.md)。

## 第 2 步：使用 SageMaker 输出配置创建训练估算器 TensorBoard 对象
<a name="debugger-htb-prepare-training-job-2"></a>

在配置 A SageMaker I 框架估算器`sagemaker.debugger.TensorBoardOutputConfig`时使用。此配置 API 将您指定用于保存 TensorBoard 数据的 S3 存储桶与训练容器中的本地路径（`/opt/ml/output/tensorboard`）进行映射。将模块的对象传递给估算器类的 `tensorboard_output_config` 参数。以下代码片段显示了使用 TensorBoard 输出配置参数准备 TensorFlow 估算器的示例。

**注意**  
此示例假设您使用的是 SageMaker Python 开发工具包。如果您使用低级 SageMaker API，则应在 [CreateTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)API 的请求语法中包含以下内容。  

```
"TensorBoardOutputConfig": { 
  "LocalPath": "/opt/ml/output/tensorboard",
  "S3OutputPath": "s3_output_bucket"
}
```

```
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import TensorBoardOutputConfig

# Set variables for training job information, 
# such as s3_out_bucket and other unique tags.
... 

LOG_DIR="/opt/ml/output/tensorboard"

output_path = os.path.join(
    "s3_output_bucket", "sagemaker-output", "date_str", "your-training_job_name"
)

tensorboard_output_config = TensorBoardOutputConfig(
    s3_output_path=os.path.join(output_path, 'tensorboard'),
    container_local_output_path=LOG_DIR
)

estimator = TensorFlow(
    entry_point="train.py",
    source_dir="src",
    role=role,
    image_uri=image_uri,
    instance_count=1,
    instance_type="ml.c5.xlarge",
    base_job_name="your-training_job_name",
    tensorboard_output_config=tensorboard_output_config,
    hyperparameters=hyperparameters
)
```

**注意**  
该 TensorBoard 应用程序不 out-of-the-box支持 SageMaker AI 超参数调整作业，因为 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html)API 未与映射的 TensorBoard 输出配置集成。要将该 TensorBoard应用程序用于超参数调整任务，您需要在训练脚本中编写用于将指标上传到 Amazon S3 的代码。将指标上传到 Amazon S3 存储桶后，您就可以在 A SageMaker I 上将该存储桶加载到 TensorBoard 应用程序中。

# 在 SageMaker AI 上访问 TensorBoard 应用程序
<a name="debugger-htb-access-tb"></a>

您可以 TensorBoard 通过两种方法进行访问：以编程方式使用生成未签名或预签名 URL 的`sagemaker.interactive_apps.tensorboard`模块，或者使用 AI 控制台中的 TensorBoard SageMaker 登录页面。打开后 TensorBoard， SageMaker AI 会运行 TensorBoard 插件并自动查找所有训练作业输出数据均为 TensorBoard兼容文件格式。

**Topics**
+ [TensorBoard 使用`sagemaker.interactive_apps.tensorboard`模块打开](debugger-htb-access-tb-url.md)
+ [TensorBoard 使用`get_app_url`函数作为`estimator`类方法打开](debugger-htb-access-tb-get-app-url-estimator-method.md)
+ [TensorBoard 通过 SageMaker AI 控制台打开](debugger-htb-access-tb-console.md)

# TensorBoard 使用`sagemaker.interactive_apps.tensorboard`模块打开
<a name="debugger-htb-access-tb-url"></a>

该`sagemaker.interactive_apps.tensorboard`模块提供了一个名为的函数`get_app_url`，该函数生成未签名或预签名的 URL，以便在 SageMaker AI 或 Amazon EC2 的任何环境中打开 TensorBoard 应用程序。这是为了向 Studio Classic 用户和非 Studio Classic 用户提供统一的体验。对于 Studio 环境，您可以 TensorBoard 按原样运行`get_app_url()`函数来打开，也可以指定作业名称以便在 TensorBoard 应用程序打开时开始跟踪。对于非 Studio Classic 环境，您可以 TensorBoard通过向实用程序功能提供您的域和用户配置文件信息来打开。有了此功能，无论您在何处或以何种方式运行训练代码和启动训练作业，都可以 TensorBoard 通过在 Jupyter 笔记本或终端中运行该`get_app_url`功能来直接访问。

**注意**  
此功能在 SageMaker Python SDK v2.184.0 及更高版本中可用。要使用此功能，请确保通过运行 `pip install sagemaker --upgrade` 来升级 SDK。

**Topics**
+ [选项 1：适用于 SageMaker AI Studio 经典版](#debugger-htb-access-tb-url-unsigned)
+ [选项 2：对于非 Studio Classic 环境](#debugger-htb-access-tb-url-presigned)

## 选项 1：适用于 SageMaker AI Studio 经典版
<a name="debugger-htb-access-tb-url-unsigned"></a>

如果您使用的是 SageMaker Studio Classic，则可以直接打开 TensorBoard应用程序或通过运行`get_app_url`函数来检索未签名的 URL，如下所示。由于您已在 Studio Classic 环境中并以域用户身份登录，因此，`get_app_url()` 会生成未签名的 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 AI Studio Classic 环境之外运行前两个代码示例，则该函数将返回 SageMaker AI 控制台中 TensorBoard登录页面的网址，因为这些页面没有指向您的域名和用户个人资料的登录信息。要创建预签名的 URL，请参阅以下部分中的选项 2。

## 选项 2：对于非 Studio Classic 环境
<a name="debugger-htb-access-tb-url-presigned"></a>

如果您使用非 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`函数在后端运行 [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_presigned_domain_url.html](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_presigned_domain_url.html)API。 适用于 Python (Boto3) 的 AWS SDK 由于 Boto3 `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`则该函数将输出一个指向 TensorBoard 登录页面的 URL，而不是打开 TensorBoard 应用程序。输出消息将与以下内容类似。  

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

# TensorBoard 使用`get_app_url`函数作为`estimator`类方法打开
<a name="debugger-htb-access-tb-get-app-url-estimator-method"></a>

如果您正在使用 SageMaker Python SDK 的`estimator`类运行训练作业，并且有该`estimator`类的活动对象，则也可以将该[`get_app_url`函数作为该类的类方法](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.estimator.EstimatorBase.get_app_url)进行`estimator`访问。打开 TensorBoard 应用程序或通过运行`get_app_url`方法来检索未签名的 URL，如下所示。`get_app_url`类方法从估算器中提取训练作业名称，然后使用指定作业打开 TensorBoard 应用程序。

**注意**  
此功能在 SageMaker Python SDK v2.184.0 及更高版本中可用。要使用此功能，请确保通过运行 `pip install sagemaker --upgrade` 来升级 SDK。

**Topics**
+ [选项 1：适用于经典 SageMaker 工作室](#debugger-htb-access-tb-get-app-url-estimator-method-studio)
+ [选项 2：对于非 Studio Classic 环境](#debugger-htb-access-tb-get-app-url-estimator-method-non-studio)

## 选项 1：适用于经典 SageMaker 工作室
<a name="debugger-htb-access-tb-get-app-url-estimator-method-studio"></a>

**打开 TensorBoard 应用程序** 

以下代码会自动从该`get_app_url()`方法在您的环境的默认 Web 浏览器中返回的未签名 URL 打开 TensorBoard 应用程序。

```
estimator.get_app_url(
    app_type=SupportedInteractiveAppTypes.TENSORBOARD # Required.
)
```

**检索未签名的 URL 并手动打开 TensorBoard应用程序**

以下代码会打印一个未签名的 URL，您可以将其复制到 Web 浏览器并打开 TensorBoard 应用程序。

```
print(
    estimator.get_app_url(
        app_type=SupportedInteractiveAppTypes.TENSORBOARD, # Required.
        open_in_default_web_browser=False, # Optional. Set to False to print the URL to terminal.
    )
)
```

请注意，如果您在 SageMaker AI Studio Classic 环境之外运行前两个代码示例，则该函数将返回 SageMaker AI 控制台中 TensorBoard登录页面的网址，因为这些页面没有指向您的域名和用户个人资料的登录信息。要创建预签名的 URL，请参阅以下部分中的选项 2。

## 选项 2：对于非 Studio Classic 环境
<a name="debugger-htb-access-tb-get-app-url-estimator-method-non-studio"></a>

如果您使用非 Studio Classic 环境（例如 SageMaker 笔记本实例和 Amazon EC2），并且想要生成用于打开 TensorBoard 应用程序的预签名 URL，请按如下方式使用包含您的域和用户个人资料信息的`get_app_url`方法。

请注意，此选项要求域用户拥有 `sagemaker:CreatePresignedDomainUrl` 权限。如果不具有此权限，域用户将收到异常错误。

**重要**  
请勿共享任何预签名 URLs。该`get_app_url`函数创建预签名 URLs，它会自动使用您的域和用户配置文件进行身份验证，并允许访问与您的域关联的任何应用程序和文件。

```
print(
    estimator.get_app_url(
        app_type=SupportedInteractiveAppTypes.TENSORBOARD, # Required
        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
    )
)
```

# TensorBoard 通过 SageMaker AI 控制台打开
<a name="debugger-htb-access-tb-console"></a>

您也可以使用 SageMaker AI 控制台 UI 打开 TensorBoard 应用程序。通过 SageMaker AI 控制台打开 TensorBoard 应用程序有两个选项。

**Topics**
+ [选项 1： TensorBoard 从域名详情页面启动](#debugger-htb-access-tb-console-domain-detail)
+ [选项 2： TensorBoard 从 TensorBoard 登录页面启动](#debugger-htb-access-tb-console-landing-pg)

## 选项 1： TensorBoard 从域名详情页面启动
<a name="debugger-htb-access-tb-console-domain-detail"></a>

**导航到域详细信息页面**

 以下过程展示如何导航到域详细信息页面。

1. 打开 Amazon A SageMaker I 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在左侧导航窗格中，选择**管理员配置**。

1. 在**管理员配置**下，选择**域**。

1. 从域列表中，选择要在其中启动 TensorBoard 应用程序的域。

**启动用户配置文件应用程序**

以下过程说明如何启动作用域为用户配置文件的 Studio Classic 应用程序。

1. 在域详细信息页面上，选择**用户配置文件**选项卡。

1. 确定要为其启动 Studio Classic 应用程序的用户配置文件。

1. 为所选用户个人资料选择 La **unch**，然后选择**TensorBoard**。

## 选项 2： TensorBoard 从 TensorBoard 登录页面启动
<a name="debugger-htb-access-tb-console-landing-pg"></a>

以下过程介绍如何从 TensorBoard 登录页面启动 TensorBoard 应用程序。

1. 打开 Amazon A SageMaker I 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在左侧导航窗格中，选择**TensorBoard**。

1. 在**开始使用**下，选择要在其中启动 Studio Classic 应用程序的域。如果您的用户配置文件仅属于一个域，则看不到用于选择域的选项。

1. 选择要为其启动 Studio Classic 应用程序的用户配置文件。如果域中没有用户配置文件，请选择**创建用户配置文件**。有关更多信息，请参阅[添加和删除用户配置文件](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html)。

1. 选择**打开 TensorBoard**。

以下屏幕截图显示了 SageMaker AI 控制台左侧导航窗格 TensorBoard 中的位置，以及主窗格中带有 TensorBoard 登录页面的 SageMaker AI 的位置。

![\[TensorBoard 登陆页面\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/debugger/htb-landing-page.png)


# 使用应用程序加载和可视化输出张量 TensorBoard
<a name="debugger-htb-access-tb-data"></a>

通过将从 S3 存储桶收集的输出张量与训练期间或之后的训练作业成对加载，可以进行在线或离线分析。

打开 TensorBoard 应用程序时， TensorBoard 打开 A **SageMaker I 数据管理器**选项卡。以下屏幕截图显示了 TensorBoard 应用程序中 SageMaker AI 数据管理器选项卡的完整视图。

**注意**  
首次启动 TensorBoard应用程序时，可视化插件可能不会出现。在 SageMaker AI Data Manager 插件中选择训练作业后， TensorBoard 应用程序会加载 TensorBoard 数据并填充可视化插件。

**注意**  
该 TensorBoard 应用程序会在闲置 1 小时后自动关闭。如果您想在使用完应用程序后将其关闭，请务必手动将其关闭， TensorBoard 以免为托管该应用程序的实例付费。有关如何删除应用程序的说明，请参阅[删除未使用的 TensorBoard 应用程序](debugger-htb-delete-app.md)。

![\[A SageMaker I 数据管理器选项卡视图。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/debugger/htb-sagemaker-manager-tab.png)


在 **SageMaker AI 数据管理器**选项卡中，您可以从 Amazon S3 中选择任何训练作业和加载 TensorBoard兼容的训练输出数据。

1. 在**搜索训练作业**部分，使用筛选条件缩小要查找、加载和可视化的训练作业列表的范围。

1. 在**训练作业列表**部分中，使用复选框选择要从中提取数据并可视化以进行调试的训练作业。

1. 选择**添加选定作业**。选定作业将显示在**跟踪的训练作业**部分中，如以下屏幕截图所示。  
![\[跟踪训练作业部分。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/debugger/htb-sagemaker-manager-tab-tracked-jobs.png)

**注意**  
A **SageMaker I 数据管理器**选项卡仅显示使用该`TensorBoardOutputConfig`参数配置的训练作业。确保您已使用此参数配置 SageMaker AI 估算器。有关更多信息，请参阅 [第 2 步：使用 SageMaker 输出配置创建训练估算器 TensorBoard 对象](debugger-htb-prepare-training-job.md#debugger-htb-prepare-training-job-2)。

**注意**  
如果您是首次将 SageMaker AI 与一起使用，或者之前 TensorBoard 的使用中没有加载任何数据，则可能不会显示可视化选项卡。在添加训练作业并等待几秒钟后，选择右上角的顺时针圆形箭头来刷新查看器。成功加载作业数据后，可视化选项卡将出现。您也可以使用右上角的刷新按钮旁边的**设置**按钮来设置为自动刷新。

## 输出张量的可视化 TensorBoard
<a name="debugger-htb-explore"></a>

在图形选项卡中，您可以在左侧窗格中查找已加载训练作业的列表。您也可以使用训练作业的复选框来显示或隐藏可视化项。 TensorBoard 动态插件是动态激活的，具体取决于您如何将训练脚本设置为包括摘要编写器以及张量和标量集合的传递回调，因此图形选项卡也会动态显示。以下屏幕截图显示了每个选项卡的示例视图，其中包含两个训练作业的可视化，这两个训练作业收集了时间序列、标量、图形、分布和直方图插件的指标。

**“时间序列” 选项卡视图**

![\[时间序列选项卡视图。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/debugger/htb-time-series.png)


**“标量”选项卡视图**

![\[标量选项卡视图。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/debugger/htb-scalars.png)


**“图表”选项卡视图**

![\[图表选项卡视图。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/debugger/htb-graphs.png)


**“分配”选项卡视图**

![\[分配选项卡视图。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/debugger/htb-distribution.png)


**“直方图”选项卡视图**

![\[直方图选项卡视图。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/debugger/htb-histogram.png)


# 删除未使用的 TensorBoard 应用程序
<a name="debugger-htb-delete-app"></a>

完成监控和尝试中的作业后 TensorBoard，请关闭 TensorBoard 应用程序。

1. 打开 A SageMaker I 控制台。

1. 在左侧导航窗格中，选择**管理员配置**。

1. 在**管理员配置**下，选择**域**。

1. 选择您的域。

1. 选择您的用户配置文件。

1. 在 “**应用程序**” 下，为**该 TensorBoard 行选择 “删除应用程序**”。

1. 选择**是，删除应用程序**。

1. 在文本框中键入 **delete**，然后选择**删除**。

1. 屏幕顶部将显示一条蓝色文本消息：**正在删除默认值**。