Difference between trainnet and trainNetwork

130 views (last 30 days)
Hi, I am creating a deep neural network for a regression problem with tabular data as the inputs (6 features and 1 target).
I was wondering if there is any difference between the trainnet and trainNetwork functions? They seem to be quite similar so I am unsure of the pros and cons to using either function?

Accepted Answer

Ben Hinkle
Ben Hinkle on 13 Dec 2023
Edited: Ben Hinkle on 13 Dec 2023
Here are some of the differences between the two trainers:
  • trainnet accepts a loss function input, which makes it easier to customize the loss if the standard regression loss is not enough.
  • trainnet lets you track additional metrics while training.
  • trainnet supports the LBFGS solver, which can converge quickly for small problems
  • trainnet outputs a dlnetwork, while trainNetwork outputs a SeriesNetwork or DAGNetwork.
  • trainNetwork accepts a table as input, while trainnet does not. This might make trainNetwork slightly easier to use when training data is in a table.
  3 Comments
Cris LaPierre
Cris LaPierre on 15 Dec 2023
Edited: Cris LaPierre on 16 Dec 2023
trainnet was introduced in R2023b. You must be using at least R2023b to access it.
Onur Kilic
Onur Kilic on 12 Mar 2024
Thank you, this is useful information. Should we expect performance improvements for trainnet in the near future? Currently, when training larger models, trainnet is much slower than trainNetwork and also gives 'out of memory' errors (GPU training) for model or minibatch sizes that trainNetwork would handle without issues.

Sign in to comment.

More Answers (0)

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!