---
title: auto_channel_prune_search
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/devaids/amct/atlasamct_16_0229.html
sourcePath: /source/zh/canncommercial/900/devaids/amct/atlasamct_16_0229.html
indexId: 12f2b53be8da1eab62a5278a9025585945940104623e6a976f9d263c58ca971365
---
# auto_channel_prune_search

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

自动通道稀疏搜索接口，根据用户模型来计算各通道的稀疏敏感度（影响精度）以及稀疏收益（影响性能），然后搜索策略依据该输入来搜索最优的逐层通道稀疏率，以平衡精度和性能。最终输出一个配置文件。


#### 函数原型

```
auto_channel_prune_search(graph, output_nodes, config, input_data, output_cfg, sensitivity, search_alg)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| graph | 输入 | 含义：待稀疏的、包含自动微分的tf.Graph训练图。 数据类型：tf.Graph |
| output\_nodes | 输入 | 含义：模型输出节点的名称。 数据类型：list，列表中元素类型为string |
| config | 输入 | 含义：自动通道稀疏搜索配置文件路径。 基于basic\_info.proto文件中的AutoChannelPruneConfig生成的简易配置文件，\*.proto文件所在路径为：AMCT安装目录/amct\_tensorflow/proto/。 \*.proto文件参数解释以及生成的自动通道稀疏搜索配置文件样例请参见自动通道稀疏搜索简易配置文件说明。 数据类型：string |
| input\_data | 输入 | 含义：用户提供的校准数据。 数据类型：list，内容为对应的feed\_dict数据 |
| output\_cfg | 输入 | 含义：输出的最终的通道稀疏配置文件路径。 数据类型：string |
| sensitivity | 输入 | 含义：敏感度计算方法。 数据类型：string或 SensitivityBase的子类，string为AMCT已有的方法，目前可选为'TaylorLossSensitivity'；子类为SensitivityBase的子类的实例化，可由用户来继承定义。默认为'TaylorLossSensitivity'。 |
| search\_alg | 输入 | 含义：待稀疏的通道搜索方法。 数据类型：string或 SearchChannelBase的子类，string为AMCT已有的方法，目前可选为'GreedySearch'；子类为SearchChannelBase的子类的实例化，可由用户来继承定义。默认为'GreedySearch'。 |


#### 返回值说明

无


#### 调用示例

```
import amct_tensorflow as amct
#构造feed_dict数据
input_data = np.random.uniform(-10, 10, (2, 14, 14, 64)).astype(np.str_)
feed_dict = [{'input:0': input_data}]

amct.auto_channel_prune_search(
     graph=graph, 
     output_nodes=[operation_name_1, operation_name_2],
     config='./tmp/sample.cfg', 
     input_data=feed_dict,  
     output_cfg='./tmp/output.cfg', 
     sensitivity='TaylorLossSensitivity', 
     search_alg='GreedySearch')
```

落盘文件：自动通道稀疏配置文件，该文件需要传给通道稀疏接口完成后续的业务。
