---
title: 简介
description: "ExpandDimsType类基于补维后的shape，描述了补维规则。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/basicdataapi/atlasopapi_07_00061.html
sourcePath: /source/zh/canncommercial/900/maintenref/basicdataapi/atlasopapi_07_00061.html
indexId: c64e8a715cada6154b58e703a420f990c1af985ce9848fe0224ed5ed8d7574e978
---
# 简介

ExpandDimsType类基于补维后的shape，描述了补维规则。

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

ExpandDimsType类通过“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根轴，补维报错。 |


#### 需要包含的头文件

```
#include <expand_dims_type.h>
```


#### Public成员函数

```
ExpandDimsType
() : size_(0U), mask_(0U)
explicit
ExpandDimsType
(const ge::char_t *const expand_dims_type)
explicit
ExpandDimsType
(const int64_t reshape_type_mask)
bool
operator==
(const ExpandDimsType &other) const
AxisIndex
GetFullSize
() const
void
SetExpandIndex
(const AxisIndex index)
bool
IsExpandIndex
(const AxisIndex index) const
ge::graphStatus
Expand
(const
Shape
&shape,
Shape
&out_shape) const
ge::graphStatus
Expand
(
Shape
&shape) const
```
