简介
ExpandDimsType类基于补维后的shape,描述了补维规则。
补维的含义为:在原有shape的基础上,添加一到多个维度,例如原shape[2,2]有两根轴,那么在两根轴中间补两维后的shape为[2,1,1,2]。 补维后shape的第0、3根轴被称为原始轴,第1、2根轴被称为补维轴。
ExpandDimsType类通过“1”和“0”描述补维规则,“1”代表当前轴为补维轴,“0”代表当前轴为原始轴,从左到右依次代表当前shape每根轴的来源,例如:
补维规则 |
补维前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
父主题: ExpandDimsType