[IE CLDNN] Fix eltwise activation types mismatch (#2090)

This commit is contained in:
Vladimir Paramuzov 2020-09-09 09:57:38 +03:00 committed by GitHub
parent 64bcbe59c7
commit 6062736751
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 46 additions and 4 deletions

View File

@ -120,9 +120,9 @@ KERNEL(eltwise)(
FUSED_OPS;
OUTPUT_TYPE out = FUSED_OPS_RESULT;
#elif QUANTIZATION_TERM && !OUTPUT_IS_FP
OUTPUT_TYPE out = ACTIVATION(TO_OUTPUT_TYPE(res), ACTIVATION_PARAMS);
OUTPUT_TYPE out = TO_OUTPUT_TYPE(ACTIVATION(res, ACTIVATION_PARAMS));
#else
OUTPUT_TYPE out = ACTIVATION_TYPED(TO_OUTPUT_TYPE(res), ACTIVATION_PARAMS_TYPED);
OUTPUT_TYPE out = TO_OUTPUT_TYPE(ACTIVATION_TYPED(res, ACTIVATION_PARAMS_TYPED));
#endif
#if QUANTIZATION_TERM && !OUTPUT_IS_FP

View File

@ -5377,7 +5377,7 @@ INSTANTIATE_TEST_CASE_P(fusings_gpu, scatter_update_quantize,
scatter_update_test_params{ CASE_SCATTER_UPDATE_FP16_4, 2, 3 },
scatter_update_test_params{ CASE_SCATTER_UPDATE_FP16_5, 2, 3 },
scatter_update_test_params{ CASE_SCATTER_UPDATE_5D_FP32_1, 2, 3 },
scatter_update_test_params{ CASE_SCATTER_UPDATE_5D_FP32_2, 2, 3 },
scatter_update_test_params{ CASE_SCATTER_UPDATE_5D_FP32_3, 2, 3 },
@ -5421,7 +5421,7 @@ INSTANTIATE_TEST_CASE_P(fusings_gpu, scatter_update_scale_activation,
scatter_update_test_params{ CASE_SCATTER_UPDATE_FP16_4, 2, 4 },
scatter_update_test_params{ CASE_SCATTER_UPDATE_FP16_5, 2, 4 },
scatter_update_test_params{ CASE_SCATTER_UPDATE_5D_FP32_1, 2, 4 },
scatter_update_test_params{ CASE_SCATTER_UPDATE_5D_FP32_2, 2, 4 },
scatter_update_test_params{ CASE_SCATTER_UPDATE_5D_FP32_3, 2, 4 },
@ -6253,6 +6253,48 @@ INSTANTIATE_TEST_CASE_P(fusings_gpu,
eltwise_test_params{CASE_ELTWISE_U8_FP16_3},
}), );
class eltwise_activation : public EltwiseFusingTest {};
TEST_P(eltwise_activation, basic) {
auto p = GetParam();
create_topologies(input_layout("input", get_input_layout(p)),
input_layout("input2", get_input_layout2(p)),
eltwise("eltwise", {"input", "input2"}, p.mode, p.default_type),
activation("activation", "eltwise", activation_func::relu, {6.0f, 0.0f}),
reorder("out", "activation", p.default_format, data_types::f32));
tolerance = 1e-5f;
execute(p);
}
TEST_P(eltwise_activation, fp16_out) {
auto p = GetParam();
create_topologies(input_layout("input", get_input_layout(p)),
input_layout("input2", get_input_layout2(p)),
eltwise("eltwise", {"input", "input2"}, p.mode, data_types::f16),
activation("activation", "eltwise", activation_func::relu, {6.0f, 0.0f}),
reorder("out", "activation", p.default_format, data_types::f32));
tolerance = 1e-5f;
execute(p);
}
INSTANTIATE_TEST_CASE_P(fusings_gpu,
eltwise_activation,
::testing::ValuesIn(std::vector<eltwise_test_params>{
eltwise_test_params{CASE_ELTWISE_FP16_1},
eltwise_test_params{CASE_ELTWISE_FP16_2},
eltwise_test_params{CASE_ELTWISE_FP16_3},
eltwise_test_params{CASE_ELTWISE_FP32_1},
eltwise_test_params{CASE_ELTWISE_FP32_2},
eltwise_test_params{CASE_ELTWISE_FP32_3},
eltwise_test_params{CASE_ELTWISE_FP32_FP16_1},
eltwise_test_params{CASE_ELTWISE_FP32_FP16_2},
eltwise_test_params{CASE_ELTWISE_FP32_FP16_3},
eltwise_test_params{CASE_ELTWISE_FP16_FP32_1},
eltwise_test_params{CASE_ELTWISE_FP16_FP32_2},
eltwise_test_params{CASE_ELTWISE_FP16_FP32_3}
}), );
/* ----------------------------------------------------------------------------------------------------- */
/* ---------------------------------------- Reduce cases ----------------------------------------------- */
/* ----------------------------------------------------------------------------------------------------- */