How do I import yolov3 onnx model into MATLAB?

3 visualizaciones (últimos 30 días)
Alexander Zimmerer
Alexander Zimmerer el 24 de Ag. de 2021
Comentada: Alexander Zimmerer el 21 de Sept. de 2021
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

Respuestas (2)

Anshika Chaurasia
Anshika Chaurasia el 17 de Sept. de 2021
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 comentario
Alexander Zimmerer
Alexander Zimmerer el 20 de Sept. de 2021
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

Iniciar sesión para comentar.


David Willingham
David Willingham el 20 de Sept. de 2021
Hi Alex,
Have you seen that there is access to yolov3 in matlab?
David
  1 comentario
Alexander Zimmerer
Alexander Zimmerer el 21 de Sept. de 2021
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

Iniciar sesión para comentar.

Categorías

Más información sobre Image Data Workflows en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by