昇腾社区首页
中文
注册

简介

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根轴,补维报错。

需要包含的头文件

1
#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