How is it possible to use a validation set with a LSTM?
12 views (last 30 days)
Show older comments
When I try to use the Validation set with a LSTM layer, it shows the following error:
options = trainingOptions('adam', ...
'ExecutionEnvironment','gpu', ...
'GradientThreshold',1, ...
'MaxEpochs',maxEpochs, ...
'ValidationData',{XTest,YTest},...
'MiniBatchSize',miniBatchSize, ...
'LearnRateSchedule','piecewise', ...
'SequenceLength','longest', ...
'Shuffle','never', ...
'Verbose',0, ...
'Plots','training-progress');
net = trainNetwork(XTrain,categorical(YTrain),layers,options);
Error:
Training with validation data is not supported for networks with LSTM layers.
Is there another way to use the Validation set during the training of the network?
1 Comment
Kenta
on 14 Mar 2020
Now that, the use of validation data with LSTM network is available.
The example follows:
Accepted Answer
Joss Knight
on 29 Apr 2018
It's ugly, but if you use Checkpoints, then you can use an OutputFcn to (once per epoch) load the network from a checkpoint and run it against your validation data. It isn't very efficient, but it's okay if you're only doing it once per epoch. You won't get it on the training plot of course.
10 Comments
Joss Knight
on 6 Oct 2020
Hey M J, you should probably ask a new question and provide a bit more detail and code. Thanks.
M J
on 8 Oct 2020
Edited: M J
on 8 Oct 2020
Hi, thank you for your answer. I did ask a new question (see link below) :
I do not have a code for this, as I am really not sure where to even start. Also, I am not sure if it is okay to post a link to the question here, but if not, please let me know. Thank you.
More Answers (2)
Mads Bergholt
on 17 May 2018
Dear Joss, will this be part of Matlab 2018b? This is an aspect of LSTM that is very important for validating these algorithms.
Best regards Mads
3 Comments
XIANFENG XU
on 7 Nov 2018
I am sorry to say that this is still not included in Matlab 2018b. Sigh. Maybe we have to turn to Tensorflow for deep learning.
Joss Knight
on 13 Nov 2018
ValidationData is indeed supported for Sequence Networks in R2018b: https://www.mathworks.com/help/deeplearning/ref/trainingoptions.html#bu59f0q_sep_mw_4d4d5e80-6684-47de-986c-f9f8258b7c6d
There are some restrictions on the format of the data.
See Also
Categories
Find more on Image Data Workflows in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!