DNN: Required argument “split” not found into dictionary

System information (version)
  • OpenCV => 4.2.0
  • Operating System / Platform => Windows 64 Bit
  • Compiler => Visual Studio 2019
Detailed description

I’m trying to inference classification model trained on Custom Vision of Azure Cognitive Services using OpenCV DNN module.
Custom Vision can download trained ONNX model. The following error occurs when read net from it.

OpenCV: terminate handler is called! The last OpenCV error is:
OpenCV(4.2.0) Error: Requested object was not found (Required argument "split" not found into dictionary) in cv::dnn::dnn4_v20191202::Dict::get, file C:\opencv-4.2.0\modules\dnn\include\opencv2/dnn/dnn.inl.hpp, line 349

This is part of model visualize image using Netron.
2020-01-17_10h51_43
(Other model visualize image is here. All model visualize image is here.)

What do you think? Thanks,

Steps to reproduce

This issue can be reproduced with the following code:

const std::string model = "./model.onnx";
cv::dnn::Net net = cv::dnn::readNet( model ); // error

1 possible answer(s) on “DNN: Required argument “split” not found into dictionary

  1. @czgdp1807 Thank you for looking on this!

    “Expected output” is handling ONNX operation properly (including its possible parameters/inputs/modes).
    Documentation about ONNX Split operation is here.

    Some of ONNX testdata cases are generated through this script (using PyTorch and exporting to ONNX).