文档
注册

支持量化的层及约束

若网络模型输入数据类型或权重数据类型为Float16或混合精度类型(Float32/Float16共存),AMCT会关闭如下算子的量化功能:

AvgPool、Pooling、AvgPoolV2、MaxPool、MaxPoolV3、Pooling、Add、Eltwise。

表1 均匀量化支持的层及约束

框架

支持的层类型

约束

对应Ascend IR定义的层类型

Caffe

InnerProduct:全连接层

transpose属性为false,axis为1

FullyConnection

Convolution:卷积层

filter维度为4

Conv2D

Deconvolution: 反卷积层

dilation为1、filter维度为4

Deconvolution

Pooling

  • mode为1,全量化(weight+tensor),global_pooling为false,不支持移位N操作
  • mode为0,只做tensor量化

Pooling

Eltwise

只做tensor量化

Eltwise

TensorFlow

MatMul:全连接层

  • transpose_a为False, transpose_b为False,adjoint_a为False,adjoint_b为False。
  • weight的输入来源不含有placeholder等可动态变化的节点。

MatMulV2

Conv2D:卷积层

weight的输入来源不含有placeholder等可动态变化的节点。

Conv2D

DepthwiseConv2dNative:Depthwise卷积层

weight的输入来源不含有placeholder等可动态变化的节点。

DepthwiseConv2D

Conv2DBackpropInput

dilation为1,weight的输入来源不含有placeholder等可动态变化的节点。

Conv2DBackpropInput

BatchMatMulV2

  • adj_x=False,第二路输入要求为2维const
  • weight的输入来源不含有placeholder等可动态变化的节点。

BatchMatMulV2

AvgPool

不支持移位N操作

AvgPool

Conv3D

dilation_d为1

Conv3D

MaxPool

-

MaxPool、MaxPoolV3

Add

只做tensor量化

Add

ONNX

Conv:卷积层

  • filter维度为5的情况下,要求dilation_d为1
  • weight的输入来源不含有placeholder等可动态变化的节点。

Conv2D、Conv3D

Gemm:广义矩阵乘

  • transpose_a=false
  • weight的输入来源不含有placeholder等可动态变化的节点。

MatMulV2

ConvTranspose:转置卷积

  • dilation为1、filter维度为4
  • weight的输入来源不含有placeholder等可动态变化的节点。

Conv2DTranspose

MatMul

  • 第二路输入要求为2维const
  • weight的输入来源不含有placeholder等可动态变化的节点。

BatchMatMulV2

AveragePool

global_pooling为false,不支持移位N操作

AvgPoolV2

MaxPool

-

MaxPool、MaxPoolV3

Add

只做tensor量化

Add

表2 非均匀量化支持的层及约束

框架

支持的层类型

约束

对应Ascend IR定义的层类型

Caffe

Convolution:卷积层

dilation为1、filter维度为4

Conv2D

InnerProduct:全连接层

transpose属性为false,axis为1

FullyConnection

TensorFlow

Conv2D:卷积层

dilation为1

Conv2D

MatMul:全连接层

transpose_a为False

MatMulV2

ONNX

Conv:卷积层

-

Conv2D

Gemm:广义矩阵乘

transpose_a=false

MatMulV2

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词