---
title: SetExpandDimsRule
description: "设置补维规则。补维是指在原有shape的基础上，添加一到多个维度。例如原shape[2,2]有两根轴，那么在两根轴中间补两维后的shape为[2,1,1,2]，补维后shape的第0、3根轴被称为原始轴，第1、2根轴被称为补维轴。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/basicdataapi/atlasopapi_07_00445.html
sourcePath: /source/zh/canncommercial/900/maintenref/basicdataapi/atlasopapi_07_00445.html
indexId: 256ac11222b178cacaf291e31d518815ffc492289a5e9d7aa09f21486afd1dcd78
---
# SetExpandDimsRule

#### 函数功能

设置补维规则。补维是指在原有shape的基础上，添加一到多个维度。例如原shape[2,2]有两根轴，那么在两根轴中间补两维后的shape为[2,1,1,2]，补维后shape的第0、3根轴被称为原始轴，第1、2根轴被称为补维轴。

通过1和0描述补维规则，1代表当前轴为补维轴，0代表当前轴为原始轴，从左到右依次代表当前shape每根轴的来源，例如：


**表1 补维规则示例**

| 补维规则 | 补维前shape | 补维后shape |
| --- | --- | --- |
| 0110 | [2, 2] | [2, 1, 1, 2] |
| 100 | [2, 3] | [1, 2, 3] |
| 1000 | [2, 3] | 补维规则与补维前shape不匹配，规则指定原始轴有3根，但原始shape只有2根轴，补维报错。 |


GE框架对外提供指定运行时格式（整网的输入输出节点的运行时格式）的能力，用于减少不必要的格式转换开销，获取更大的性能收益。开发者自行指定运行时格式的场景下，有两种方式来设置配套的运行时shape：

- 开发者自行指定运行时shape。
- 框架推导运行时shape，此时，如果原始shape维度小于原始格式表达的维度，需要通过该接口同步设置补维规则，框架侧基于该补维规则设置运行时的shape。


#### 函数原型

```
void SetExpandDimsRule(const AscendString &expand_dims_rule)
```


#### 参数说明

| 参数名 | 输入/输出 | 描述 |
| --- | --- | --- |
| expand\_dims\_rule | 输入 | 需设置的补维规则。AscendString类型。 使用样例：原始shape为[2，3]，原始格式为NCHW，原始shape的维度（2）小于NCHW的维度（4），需要设置补维规则。 比如，补维规则设置为“0110”，补维后shape为[2，1，1，3]。 |


#### 返回值

无。


#### 异常处理

无。


#### 约束说明

无。
