detect matmuls

This commit is contained in:
Mikhail Ryzhov 2023-03-23 13:35:35 +01:00
parent 45c1f800f3
commit 01de25e3c6

View File

@ -79,6 +79,7 @@ void TransformationsPipeline::apply(const std::shared_ptr<ov::Model>& model,
const bool has_convolution = ov::op::util::has_op_with_type<ov::opset8::Convolution>(model);
const bool has_maxpool = ov::op::util::has_op_with_type<ov::opset8::MaxPool>(model);
const bool has_slice = ov::op::util::has_op_with_type<ov::opset8::Slice>(model);
const bool has_matmul = ov::op::util::has_op_with_type<ov::opset8::MatMul>(model);
const bool has_mvn = ov::op::util::has_op_with_type<ov::opset8::MVN>(model) ||
ov::op::util::has_op_with_type<ov::op::v0::MVN>(model);
@ -130,7 +131,7 @@ void TransformationsPipeline::apply(const std::shared_ptr<ov::Model>& model,
manager.register_pass<ov::intel_gna::pass::SubstituteSoftsign>();
manager.register_pass<ov::intel_gna::pass::InsertCopyBeforeLayerToBeEliminated>();
// TODO enable this transformation for networks without convolutions
if (has_convolution || has_maxpool || has_mvn) {
if (has_convolution || has_maxpool || has_mvn || has_matmul) {
manager.register_pass<ov::intel_gna::pass::TransposeNCHW>();
manager.register_pass<ov::intel_gna::pass::ReshapeTransposeSubstitute>();
manager.register_pass<ov::pass::TransposeSinkingGeneral>();