# Format

```
enum Format {
  FORMAT_NCHW = 0, // NCHW
  FORMAT_NHWC, // NHWC
  FORMAT_ND, // Nd Tensor
  FORMAT_NC1HWC0, // NC1HWC0
  FORMAT_FRACTAL_Z, // FRACTAL_Z
  FORMAT_NC1C0HWPAD = 5,
  FORMAT_NHWC1C0,
  FORMAT_FSR_NCHW,
  FORMAT_FRACTAL_DECONV,
  FORMAT_C1HWNC0,
  FORMAT_FRACTAL_DECONV_TRANSPOSE = 10,
  FORMAT_FRACTAL_DECONV_SP_STRIDE_TRANS,
  FORMAT_NC1HWC0_C04, // NC1HWC0, C0 is 4
  FORMAT_FRACTAL_Z_C04, // FRACZ, C0 is 4
  FORMAT_CHWN,
  FORMAT_FRACTAL_DECONV_SP_STRIDE8_TRANS = 15,
  FORMAT_HWCN,
  FORMAT_NC1KHKWHWC0, // KH,KW kernel h和kernel w最大池化最大输出格式
  FORMAT_BN_WEIGHT,
  FORMAT_FILTER_HWCK, // 滤波器输入张量格式
  FORMAT_HASHTABLE_LOOKUP_LOOKUPS = 20,
  FORMAT_HASHTABLE_LOOKUP_KEYS,
  FORMAT_HASHTABLE_LOOKUP_VALUE,
  FORMAT_HASHTABLE_LOOKUP_OUTPUT,
  FORMAT_HASHTABLE_LOOKUP_HITS,
  FORMAT_C1HWNCoC0 = 25,
  FORMAT_MD,
  FORMAT_NDHWC,
  FORMAT_FRACTAL_ZZ,
  FORMAT_FRACTAL_NZ,
  FORMAT_NCDHW = 30,
  FORMAT_DHWCN, // 3D滤波器输入张量格式
  FORMAT_NDC1HWC0,
  FORMAT_FRACTAL_Z_3D,
  FORMAT_CN,
  FORMAT_NC = 35,
  FORMAT_DHWNC,
  FORMAT_FRACTAL_Z_3D_TRANSPOSE, // 3D滤波器(转置)输入张量格式
  FORMAT_FRACTAL_ZN_LSTM,
  FORMAT_FRACTAL_Z_G,
  FORMAT_RESERVED = 40,
  FORMAT_ALL,
  FORMAT_NULL,
  FORMAT_ND_RNN_BIAS,
  FORMAT_FRACTAL_ZN_RNN,
  FORMAT_NYUV = 45,
  FORMAT_NYUV_A,
  FORMAT_NCL,
  FORMAT_FRACTAL_Z_WINO,
  FORMAT_C1HWC0,
  // 在此添加新格式定义
  FORMAT_END,
  // FORMAT_MAX定义了Format的最大值
  // 任何Format都不应超过FORMAT_MAX的值
  // 注意：FORMAT_MAX表示enum Format的规格，在代码中几乎不应使用
  // 如果需要判断Format的范围，可以使用FORMAT_END
  FORMAT_MAX = 0xff
};
```

上述Format枚举值对应的序号取值，从0开始，依次递增。

IR构图不支持输入以下FORMAT：

```
FORMAT_NC1HWC0
FORMAT_FRACTAL_Z
FORMAT_NC1C0HWPAD
FORMAT_NHWC1C0
FORMAT_FRACTAL_DECONV
FORMAT_C1HWNC0
FORMAT_FRACTAL_DECONV_TRANSPOSE
FORMAT_FRACTAL_DECONV_SP_STRIDE_TRANS
FORMAT_NC1HWC0_C04
FORMAT_FRACTAL_Z_C04
FORMAT_FRACTAL_DECONV_SP_STRIDE8_TRANS
FORMAT_NC1KHKWHWC0
FORMAT_C1HWNCoC0
FORMAT_FRACTAL_ZZ
FORMAT_FRACTAL_NZ
FORMAT_NDC1HWC0
FORMAT_FRACTAL_Z_3D
FORMAT_FRACTAL_Z_3D_TRANSPOSE
FORMAT_FRACTAL_ZN_LSTM
FORMAT_FRACTAL_Z_G
FORMAT_ND_RNN_BIAS
FORMAT_FRACTAL_ZN_RNN
FORMAT_NYUV
FORMAT_NYUV_A
```