Problem with CNN after compiling

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

Asked:

on 16 Mar 2019

Edited:

on 9 Mar 2023

Community Treasure Hunt

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

Start Hunting!