How does MATLAB's "trainnet" function handle network state during training?
Show older comments
I am trying to understand the inner workings of MATLAB's "trainnet" function. Specifically, I need the following information:
Does "trainnet" operate on a copy of the network provided via the training options and only return the final trained network at the end of the training process?
Or is there a way to access and save the current state of the network during training (for example, after each epoch or according to custom output function)?
Any insights, explanations, or documentation references that clarify how MATLAB manages the network state during training would be greatly appreciated.
Thanks in advance!
Answers (1)
Abhipsa
on 19 Feb 2025
0 votes
I have used this MATLAB documentation example (https://www.mathworks.com/help/deeplearning/ug/train-network-on-image-and-feature-data.html ) to verify if the original network and trained network obtained using “trainnet” of Deep Learning Toolbox are actually the same. It appears that the original network was not modified, suggesting it must be a copy.
I am attaching the output screenshot of my experimentation below.

To save and access the current state of the network during training you can use the “CheckpointPath” name-value pair in “trainingOptions”. This can be specified in the "options" input argument in "trainnet". You can refer to the below MATLAB links for more details:
- Checkpointpath: https://www.mathworks.com/help/releases/R2024b/deeplearning/ref/trainingoptions.html#:~:text=collapse%20all-,CheckpointPath,-%E2%80%94%20Path%20for
- Options in “trainnet” : https://in.mathworks.com/help/deeplearning/ref/trainnet.html#:~:text=options%20%E2%80%94%20Training%20options
I hope this helps you.
1 Comment
Diana
on 3 Mar 2025
Categories
Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!