How do I import yolov3 onnx model into MATLAB?

3 次查看(过去 30 天)
Dear Community,
I am currently trying to import a pretrained yolo image segmentation model into Matlab (R2021a, all Addons and Toolboxes installed). When I was doing it with a yolov2-network as described here, I am able to do so.
However when I try to the the same with a newer version of the classifier, provided by the ONNX Model Zoo, I receive the following error message:
modelname='yolov3-10.onnx' %downloaded and stored in current dir
lgraph = importONNXLayers(modelname,'ImportWeights',true);
Error using nnet.internal.cnn.onnx.translateONNX>getONNXImageInputSize (line 482)
Unspecified input dimensions are supported only for sequence or batch dimensions.
Error in nnet.internal.cnn.onnx.translateONNX>createInputLayer (line 464)
ONNXInputShape = getONNXImageInputSize(ONNXInputDims); % Returns [C H W]
Error in nnet.internal.cnn.onnx.translateONNX (line 59)
inputLayer = createInputLayer(thisGraph, inputsWithoutInitializers{i}, UserImageInputSize);
Error in nnet.internal.cnn.onnx.importONNXLayers (line 10)
[LayersOrGraph, translationIssues] = nnet.internal.cnn.onnx.translateONNX(modelProto, OutputLayerType, UserImageInputSize, ImportWeights);
Error in importONNXLayers (line 48)
Layers = nnet.internal.cnn.onnx.importONNXLayers(modelfile, varargin{:});
Any I idea what I could do instead?
Many thanks in advance :)
Alex

回答(2 个)

Anshika Chaurasia
Anshika Chaurasia 2021-9-17
Hi Alexander,
The reason for error is that your model has variable input dimensions (i.e. input dimensions are not fix).
The possible workaround to import such model is to use importONNXFunction.
Hope it helps!
  1 个评论
Alexander Zimmerer
Alexander Zimmerer 2021-9-20
Hi Anshika,
thank you very much for your answer.
When I use importONNXFunction as recommended is it possible from there to change the input layer to fixed dimensions and create a layer graph out of it?
Thanks again and best regards
Alex

请先登录,再进行评论。


David Willingham
David Willingham 2021-9-20
Hi Alex,
Have you seen that there is access to yolov3 in matlab?
David
  1 个评论
Alexander Zimmerer
Alexander Zimmerer 2021-9-21
Hey David,
many thanks also for your answer. In fact this was exactly what I was doing meanwhile. However I still wanted to understand a kind of "generic" procedure of importing any open source model into matlab, train the model and ideally import it into Simulink to test it and generate code out of it.
So that's the basic idea behind my question ;)
Alex

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

产品


版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by