torch_npu.contrib.module.QuantConv2d
产品支持情况
功能说明
API功能:QuantConv2d是对torch_npu.npu_quant_conv2d接口的封装类,为用户提供Conv2d算子量化相关功能。
计算公式:
函数原型
参数说明
计算参数
in_channels(
[object Object]):必选参数,Conv2d的输入的channel值。out_channels(
[object Object]):必选参数,Conv2d的输出的channel值。kernel_size(
[object Object]/[object Object]):必选参数,卷积核大小,支持单个数字输入或者2维tuple输入。当前仅支持kernel_size范围为[1, 255]。output_dtype(
[object Object]):必选参数,输出数据类型,当前仅支持[object Object]。stride(
[object Object]/[object Object]):可选参数,默认值为1,Conv2d的stride,支持单个数字输入或者2维tuple输入。当前仅支持stride范围为[1, 63]。padding(
[object Object]/[object Object]):可选参数,默认值为0,Conv2d的padding,支持单个数字输入或者2维tuple输入。当前仅支持padding范围为[0, 255]。dilation(
[object Object]/[object Object]):可选参数,默认值为1,Conv2d的dilation,支持单个数字输入或者2维tuple输入。当前仅支持dilation范围为[1, 255]。groups(
[object Object]):可选参数,默认值为1,Conv2d的group。当前仅支持取1。bias(
[object Object]):可选参数,默认值为True,代表是否需要bias计算参数。如果设置成False,则bias不会加入QuantConv2d计算。offset(
[object Object]):可选参数,默认值为False,预留参数,暂未使用。offset_x(
[object Object]):可选参数,默认值为0,填充的pad中填入的实际值。示例:如果
[object Object]为[1,1],[object Object]为1,fmap变化如图所示:round_mode(
[object Object]):可选参数,默认值为"rint"。预留参数,暂未使用。device:可选参数,默认值为None。预留参数,暂未使用。
dtype:可选参数,默认值为None。预留参数,暂未使用。
计算输入
quant_conv2d_input([object Object]):数据类型支持[object Object],数据格式支持,shape为4维。
变量说明
- weight(
[object Object]):数据类型支持[object Object]。数据格式支持,shape为4维。 - scale(
[object Object]):数据类型支持[object Object]和[object Object]。数据格式支持,shape是1维(n,),其中n与[object Object]的[object Object]一致。 - bias(
[object Object]):可选参数。数据类型支持[object Object],数据格式支持,shape支持1维(n,),n与[object Object]的[object Object]一致。
输出说明
[object Object]
代表QuantConv2d的计算结果:
- 如果output_dtype为
[object Object],输出的数据类型为[object Object]。 - 如果output_dtype非以上数据类型,则不支持。
约束说明
- 该接口支持推理场景下使用。
- 该接口仅支持PyTorch静态图模式在线推理。
- [object Object]Atlas 推理系列产品[object Object]:不支持output中w轴为1的场景。
调用示例
图模式调用: