You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Updated convolution reference to branch epilogue:
* TO=float: int32 to float dequant (acc * sA * sB + bias_f32)
* TO!=float: usual quantize_down_scale_by_fixedpoint with int32 bias
- Changed fixture to use F32 bias tensor for Q->F32 runs (instead of S32),
matching arm_gemm dequant epilogue which only supports float bias.
- Added explicit template instantiations for convolution_layer with
TBias=float, TO=float to fix linker errors in validation.
- Disabled activation in arm_gemm dequant path:
offsets are applied afterwards by CpuGemmLowpOffsetContributionKernel,
so activation must run there to see the correct final accumulator.
- src/cpu/kernels/gemmlowp/generic/neon/impl.h
neon_run_offset_contribution_float(): replace per-batch offset
for vector_sum_col from Y stride to W stride.
This aligns target and reference for quantized to F32 convolution tests
and prevents premature clamping before offset contributions.
Change-Id: I6fffc98dc0798542a2702e6a593b850c16561e3b
Signed-off-by: Pablo Marquez Tello <[email protected]>
* @param[in] input Source tensor. 3 lower dimensions represent a single input [width, height, IFM],
@@ -87,6 +88,7 @@ class NEGEMMConvolutionLayer : public IFunction
87
88
* Data type supported: QASYMM8/QASYMM8_SIGNED/QSYMM8_PER_CHANNEL/BFLOAT16/F16/F32.
88
89
* @param[in] biases Biases tensor. Shared biases supported. Biases are 1D tensor with dimensions [OFM].
89
90
* Data type supported: Should match @p input data type, except for input of QASYMM8/QASYMM8_SIGNED type where biases should be of S32 type.
91
+
* For F32 dequantization the bias must be F32.
90
92
* @param[out] output Destination tensor. 3 lower dimensions represent a single output [width, height, OFM], while the rest represent batch of outputs.
91
93
* Data types supported: Same as @p input.
92
94
* @param[in] conv_info Contains padding and stride information described in @ref PadStrideInfo.
@@ -117,6 +119,7 @@ class NEGEMMConvolutionLayer : public IFunction
117
119
* Data type supported: QASYMM8/QASYMM8_SIGNED/QSYMM8_PER_CHANNEL/BFLOAT16/F16/F32.
118
120
* @param[in] biases Biases tensor info. Shared biases supported. Biases are 1D tensor with dimensions [OFM].
119
121
* Data type supported: Should match @p input data type, except for input of QASYMM8/QASYMM8_SIGNED type where biases should be of S32 type.
122
+
* For F32 dequantization the bias must be F32.
120
123
* @param[in] output Destination tensor info. 3 lower dimensions represent a single output [width, height, OFM], while the rest represent batch of outputs.
121
124
* Data types supported: Same as @p input.
122
125
* @param[in] conv_info Contains padding and stride information described in @ref PadStrideInfo.
* @param[in] src Source tensor info. 3 lower dimensions represent a single input [width, height, IFM],
@@ -86,6 +87,7 @@ class CpuGemmConv2d : public IOperator
86
87
* Data type supported: QASYMM8/QASYMM8_SIGNED/QSYMM8_PER_CHANNEL/BFLOAT16/F16/F32.
87
88
* @param[in] biases Biases tensor info. Shared biases supported. Biases are 1D tensor with dimensions [OFM].
88
89
* Data type supported: Should match @p input data type, except for input of QASYMM8/QASYMM8_SIGNED type where biases should be of S32 type.
90
+
* For F32 dequantization the bias must be F32.
89
91
* @param[out] dst Destination tensor info. 3 lower dimensions represent a single output [width, height, OFM], while the rest represent batch of outputs.
90
92
* Data types supported: Same as @p input.
91
93
* @param[in] conv_info Contains padding and stride information described in @ref PadStrideInfo.
* @param[in] src Source tensor info. 3 lower dimensions represent a single input [width, height, IFM],
@@ -97,6 +98,7 @@ class CpuConv2d : public ICpuOperator
97
98
* Data type supported: Same as @p src, also could be QSYMM8_PER_CHANNEL or QASYMM8_SIGNED if input is QASYMM8/QASYMM8_SIGNED.
98
99
* @param[in] biases Biases tensor info. Shared biases supported. Biases are 1D tensor with dimensions [OFM].
99
100
* Data type supported: Same as @p src, except for input of QASYMM8/QASYMM8_SIGNED type where biases should be of S32 type.
101
+
* For F32 dequantization the bias must be F32.
100
102
* @param[out] dst Destination tensor info. 3 lower dimensions represent a single output [width, height, OFM], while the rest represent batch of outputs.
101
103
* Data types supported: Same as @p src.
102
104
* @param[in] conv_info Contains padding and stride information described in @ref PadStrideInfo.
0 commit comments