[CPU] Fix Interpolate impl bug and add related test case (#19783)

This commit is contained in:
mei, yang 2023-09-18 16:39:11 +08:00 committed by GitHub
parent 09aece638d
commit e9aaf9aa1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 5 deletions

View File

@ -586,8 +586,8 @@ private:
add(reg_d_weights, jcp_.oc_block * sizeof(float));
}
depthwise_inj_idx++;
post_ops_data_offset += depthwise_injectors[depthwise_inj_idx]->memoryStep();
depthwise_inj_idx++;
push(reg_oc_off);
} else if (post_op.is_sum(false)) {

View File

@ -1519,8 +1519,8 @@ private:
depthwise_injectors[depthwise_inj_idx]->compute_vector_range(
vmm_val.getIdx(), vmm_val.getIdx() + 1, reg_d_weights, reg_d_weights, is_broadcast);
depthwise_inj_idx++;
post_ops_data_offset += depthwise_injectors[depthwise_inj_idx]->memoryStep();
depthwise_inj_idx++;
} else if (post_op.is_quantization()) {
bool do_dequantization = post_op.quantization.alg == alg_kind::quantization_quantize_dequantize;
bool do_rounding = do_dequantization || dst_prc == Precision::FP32 || i != p.len() - 1;

View File

@ -462,13 +462,18 @@ const std::vector<ShapeParams> shapeParams4D_fixed_C = {
};
#if defined(OPENVINO_ARCH_X86) || defined(OPENVINO_ARCH_X86_64)
const std::vector<fusingSpecificParams> interpolateFusingParamsSet_fixed_C{
fusingFakeQuantizePerChannelRelu,
fusingMultiplyPerChannel,
};
INSTANTIATE_TEST_SUITE_P(smoke_InterpolateNN_Layout_PerChannelFuse_Test, InterpolateLayerCPUTest,
::testing::Combine(
interpolateCasesNN_Smoke,
::testing::ValuesIn(shapeParams4D_fixed_C),
::testing::Values(ElementType::f32),
::testing::ValuesIn(filterCPUInfoForDevice()),
::testing::Values(fusingFakeQuantizePerChannelRelu),
::testing::ValuesIn(interpolateFusingParamsSet_fixed_C),
::testing::ValuesIn(filterAdditionalConfig())),
InterpolateLayerCPUTest::getTestCaseName);
@ -478,7 +483,7 @@ INSTANTIATE_TEST_SUITE_P(InterpolateNN_Layout_PerChannelFuse_Test, InterpolateLa
::testing::ValuesIn(shapeParams4D_fixed_C),
::testing::Values(ElementType::f32),
::testing::ValuesIn(filterCPUInfoForDevice()),
::testing::Values(fusingFakeQuantizePerChannelRelu),
::testing::ValuesIn(interpolateFusingParamsSet_fixed_C),
::testing::ValuesIn(filterAdditionalConfig())),
InterpolateLayerCPUTest::getTestCaseName);
#endif
@ -1015,5 +1020,4 @@ INSTANTIATE_TEST_SUITE_P(smoke_InterpolateBicubicPillow_LayoutAlign_Test, Interp
InterpolateLayerCPUTest::getTestCaseName);
} // namespace
} // namespace CPULayerTestsDefinitions