Speed of custom training loop

3 views (last 30 days)
Sangmin Lee
Sangmin Lee on 2 Sep 2020
Answered: Raynier Suresh on 25 Feb 2021
I test several code using 'Train Network Using Custom Training Loop'. I found it is severely slower than the method using 'nnet.cnn.layer.Layer ' class layer and 'trainNetwork' function.
Is it ture that 'dlnetwork' class is slower than 'nnet.cnn.layer.Layer ' class? or is it because of the example is using for-loop explicitly instead of using the built-in 'trainNetwork' function?
If I am wrong, please correct me or it would be great to improve speed of algorithm.

Answers (1)

Raynier Suresh
Raynier Suresh on 25 Feb 2021
Hi, Generally trainNetwork framework is faster, it is optimised to take care of many things. But it's not that the custom training loop will always be slower. You can use the minibatchqueue, gpuArray and dlArray to speed things. Typically, if it is possible to use trainNetwork prefer using this.
If you can provide more information about your workflow and the hardware you were using it will be helpful for us to investigate more on this.


Find more on Deep Learning Toolbox 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!