Problem with CNN after compiling

2 views (last 30 days)
Slavomír Duga
Slavomír Duga on 16 Mar 2019
Edited: Bruno on 9 Mar 2023
Hello, I created CNN, train the network and then i tried to clasify images. Everything was good, but after I compile my figure to .exe, I'm getting this eror:"Variable 'net' originally saved as a SeriesNetwork cannot be instantiated as an object and will be read in as a uint32."
Problem is in this row: "predictedLabels = classify(net,spektrogram);"
Can anyone help pls?

Answers (1)

Antti
Antti on 8 Jan 2021
It looks like your executable doesn't know how to handle the network object. You can try explicitly including the class definition file in your executable.
You can find the directory containing "SeriesNetwork" by executing the following command in the MATLAB command window:
>> which SeriesNetwork
It will likely look something like this:
"C:\Program Files\MATLAB\<version>\toolbox\nnet\cnn\SeriesNetwork.m"
Then you can include the directory containing the class definition using the "-a" flag for "mcc".
Your final compilation command will look something like this:
mcc -m yourApplication.m -a "C:\Program Files\MATLAB\<version>\toolbox\nnet\cnn"
  1 Comment
Bruno
Bruno on 9 Mar 2023
Edited: Bruno on 9 Mar 2023
I had a similar problem, but when using the Library Compiler (Python Package). Your suggestion worked for me, but it produced a 27 MB instead of 700 kB .ctf file in the end. I'm wondering if there's an alternative way to save the output of trainNetwork and load it from a compiled file (e.g., .ctf as a Python package).

Sign in to comment.

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!