diff --git a/inference-engine/thirdparty/clDNN/src/include/layout_optimizer.h b/inference-engine/thirdparty/clDNN/src/include/layout_optimizer.h index 891de708c91..c55d4bb9833 100644 --- a/inference-engine/thirdparty/clDNN/src/include/layout_optimizer.h +++ b/inference-engine/thirdparty/clDNN/src/include/layout_optimizer.h @@ -29,6 +29,7 @@ #include "binary_convolution_inst.h" #include "lstm_gemm_inst.h" #include "generic_layer.hpp" +#include "region_yolo_inst.h" #include "kernel_selector_common.h" #include "kernel_selector_helper.h" diff --git a/inference-engine/thirdparty/clDNN/src/layout_optimizer.cpp b/inference-engine/thirdparty/clDNN/src/layout_optimizer.cpp index a4b37f59b9b..23e6d51e465 100644 --- a/inference-engine/thirdparty/clDNN/src/layout_optimizer.cpp +++ b/inference-engine/thirdparty/clDNN/src/layout_optimizer.cpp @@ -861,6 +861,10 @@ format layout_optimizer::get_preferred_format(program_node& node) { if (input_layout.format.dimension() == 5 && (input_layout.data_type == data_types::f32 || input_layout.data_type == data_types::f16 )) expected = format::bfzyx; + } else if (node.is_type()) { + if (_optimization_attributes.b_fs_yx_fsv16_network) { + expected = format::bfyx; + } } return expected; diff --git a/inference-engine/thirdparty/clDNN/src/program.cpp b/inference-engine/thirdparty/clDNN/src/program.cpp index 599038afbe3..ed050e7a7d3 100644 --- a/inference-engine/thirdparty/clDNN/src/program.cpp +++ b/inference-engine/thirdparty/clDNN/src/program.cpp @@ -62,6 +62,7 @@ #include "mvn_inst.h" #include "gemm_inst.h" #include "reduce_inst.h" +#include "region_yolo_inst.h" #include "strided_slice_inst.h" #include "to_string_utils.h" #include "gpu/memory_gpu.h" @@ -1219,7 +1220,8 @@ void program_impl::set_layout_optimizer_attributes(layout_optimizer& lo) { prim.type() != cldnn::arg_max_min::type_id() && prim.type() != cldnn::mutable_data::type_id() && prim.type() != cldnn::reduce::type_id() && - prim.type() != cldnn::strided_slice::type_id()) + prim.type() != cldnn::strided_slice::type_id() && + prim.type() != cldnn::region_yolo::type_id()) can_use_fsv16 = false; if (prim.type() == cldnn::quantize::type_id() &&