

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

# 使用 `CollectionConfig` API 配置张量集合
<a name="debugger-configure-tensor-collections"></a>

使用 `CollectionConfig` API 操作配置张量集合。在使用 Debugger 支持的深度学习框架和机器学习算法时，Debugger 提供预构建的张量集合，涵盖了参数的各种正则表达式 (regex)。如以下示例代码所示，添加要调试的内置张量集合。

```
from sagemaker.debugger import CollectionConfig

collection_configs=[
    CollectionConfig(name="weights"),
    CollectionConfig(name="gradients")
]
```

前面的集合设置 Debugger 钩子基于默认 `"save_interval"` 值，每 500 个步骤保存一次张量值。

有关可用的 Debugger 内置集合的完整列表，请参阅 [Debugger 内置集合](https://github.com/awslabs/sagemaker-debugger/blob/master/docs/api.md#collection)。

如果您希望自定义内置集合，例如更改保存时间间隔和张量正则表达式，请使用以下 `CollectionConfig` 模板来调整参数。

```
from sagemaker.debugger import CollectionConfig

collection_configs=[
    CollectionConfig(
        name="tensor_collection",
        parameters={
            "key_1": "value_1",
            "key_2": "value_2",
            ...
            "key_n": "value_n"
        }
    )
]
```

有关可用参数密钥的更多信息，请参阅 [Amaz SageMaker on Python 软件开发工具包[CollectionConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.CollectionConfig)](https://sagemaker.readthedocs.io/en/stable)中的。例如，以下代码示例展示了如何调整在训练的不同阶段保存“losses”张量集合的时间间隔：在训练阶段每 100 个步骤保存一次损失，在验证阶段每 10 个步骤保存一次验证损失。

```
from sagemaker.debugger import CollectionConfig

collection_configs=[
    CollectionConfig(
        name="losses",
        parameters={
            "train.save_interval": "100",
            "eval.save_interval": "10"
        }
    )
]
```

**提示**  
此张量集合配置对象既可用于规则 API 操作 [DebuggerHookConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-configure-hook.html#debugger-configure-tensor-hook)，也可用于[规则](https://docs.aws.amazon.com/sagemaker/latest/dg/use-debugger-built-in-rules.html#debugger-built-in-rules-configuration-param-change) API 操作。