coder.load​DeepNeural​Network: ??? Expected a character vector

I am trying to use matlab coder to generate mex functions for a DAGNetwork type.
I use the following minimum example as suggested in the Matlab Documentation:
function out = myNet_predict(in) %#codegen
persistent mynet;
if isempty(mynet)
mynet = coder.loadDeepLearningNetwork('matlab.mat');
end
out = predict(mynet,in);
If matlab.mat contains the pre-trained resnet50, everything fine. However, if use a custom DAGNetwork, Matlab Coder throws throws the following error: ??? Expected a character vector. Did someone else encounter this problem and knows how to fix this issue?

Answers (1)

Is it possible that the filename of the custom DAGNetwork has non-ASCII characters? If so, can you try removing any path with such characters and retry?
If you still see the issue, would it be possible to share an example that reproduces the issue?
Hari

4 Comments

the the filename is "resnet50.mat" and the path is the cwd and does not contain any non-ASCII characters. I cannot upload the resnet50.mat file here because it is larger than 5mb.
Do you have a script that you can share that creates the 'resnet50.mat' file?
Alternatively can you try to generate code for the example entrypoint function below (Note: that you may need to install the Deep Learning Toolbox Model for ResNet-50 support package through the Add-Ons)?
function out = mpredict()
%#codegen
persistent net;
if isempty(net)
net = resnet50;
end
out = predict(net, ones(224,224,3,'single'));
end
I have a trained a resnet50 model using pytorch saved it in Onnx format and imported the model to MATLAB as a DAGNetwork. The matlab coder does not give any errors, when I load the resnet model that is provided by Matlab, only the imported version causes this error.
I see. Is it possible to disp the network to see if the layer names or the class label names might have unsupported character (non-ASCII) types?
If your license provides access to our technical support team, you can reach out to them to share the network with us.
Alternatively, you can try to isolate the source of the problem by creating a smaller network from a subgraph of the original network, that reproduces the issue. The deepNetworkDesigner may be helpful here.

Sign in to comment.

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Products

Release

R2022a

Community Treasure Hunt

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

Start Hunting!