ShapeInfo
=========

#### 功能说明

ShapeInfo用来存放LocalTensor或GlobalTensor的shape信息。

#### 定义原型

*   ShapeInfo结构定义
    
    struct ShapeInfo {
     public:
         \_\_aicore\_\_ inline ShapeInfo();
         \_\_aicore\_\_ inline ShapeInfo(const uint8\_t inputShapeDim, const uint32\_t inputShape\[\],
             const uint8\_t inputOriginalShapeDim, const uint32\_t inputOriginalShape\[\], const DataFormat inputFormat);
         \_\_aicore\_\_ inline ShapeInfo(const uint8\_t inputShapeDim, const uint32\_t inputShape\[\], const DataFormat inputFormat);
         \_\_aicore\_\_ inline ShapeInfo(const uint8\_t inputShapeDim, const uint32\_t inputShape\[\]);
         uint8\_t shapeDim;
         uint8\_t originalShapeDim;
         uint32\_t shape\[K\_MAX\_DIM\];
         uint32\_t originalShape\[K\_MAX\_DIM\];
         DataFormat dataFormat;
     };
    
*   获取Shape中所有dim的累乘结果
    
    \_\_aicore\_\_ inline int GetShapeSize(const ShapeInfo& shapeInfo)
    

#### 函数说明

**表1** ShapeInfo结构参数说明

| 参数名称 | 类型 | 描述 |
| :-- | :-- | :-- |
| shapeDim | uint8\_t | 现有的shape维度。 |
| shape | uint32\_t | 现有的shape。 |
| originalShapeDim | uint8\_t | 原始的shape维度。 |
| originalShape | uint32\_t | 原始的shape。 |
| dataFormat | DataFormat | 
数据排布格式。NCHW取值为0，NHWC取值为1。

\- NCHW：数据按NCHW排布。

\- NHWC：数据按NHWC排布。

 |

**表2** GetShapeSize参数说明

| **函数名称** | **入参说明** | **含义** |
| :-- | :-- | :-- |
| shapeInfo | Tensor的shape信息。 | 用来存放LocalTensor或GlobalTensor的shape信息。 |