Working with LSTM and Bayes Optimization

25 views (last 30 days)
I am trying to use bayesoptimization to tune the parameters
optimvars = [
optimizableVariable('InitialLearnRate',[1e-2 1],'Transform','log')
optimizableVariable('L2Regularization',[1e-10 1e-2],'Transform','log')];
layers = [ ...
sequenceInputLayer(inputSize,'Normalization','zscore')
bilstmLayer(numHiddenUnits,'OutputMode','last')
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer];
maxEpochs =25;
options = trainingOptions('adam',...
'ExecutionEnvironment','cpu',...
'GradientThreshold',1,...
'MaxEpochs',maxEpochs,...
'MiniBatchSize',miniBatchSize, ...
'SequenceLength', 'longest', ...
'Shuffle','every-epoch', ...
'Verbose', 1, ...
'InitialLearnRate',optimvars.InitialLearnRate,...
'L2Regularization',optimvars.L2Regularization,...
'Plots','training-progress');
objFcn = makeObj(Xtrain,YTrain);
bayesObj = bayesopt(objFcn,optimvars, ...
'MaxTime', 14*60*60, ...
'IsObjectiveDeterministic',false,...
'UseParallel',false);
Where am i going wrong as i get the following error:
Unrecognized method, property, or field 'InitialLearnRate' for class 'optimizableVariable'.
Error in AllVsIndx (line 236)
'InitialLearnRate',optimvars.InitialLearnRate,...
The documentation regarding bayesian optimization is very vague especially when it comes to implementation with LSTM networks
Any help would be appreciated
Thanks

Accepted Answer

Jorge Calvo
Jorge Calvo on 27 May 2021
If you have R2020b or later, you can use the Experiment Manager app to run Bayesian optimization to determine the best combination of hyperparameters. For more information, see https://www.mathworks.com/help/deeplearning/ug/experiment-using-bayesian-optimization.html.
  1 Comment
CHRISTOPHER MILLAR
CHRISTOPHER MILLAR on 27 May 2021
Thanks Jorge
I have just installed R2021a on my machine and will take advantage of this new app

Sign in to comment.

More Answers (2)

Don Mathis
Don Mathis on 25 Feb 2020

Jorge Calvo
Jorge Calvo on 5 Oct 2021
I thought you would like to know that, in R2021b, we are included an example for training long short-term memory (LSTM) networks using Bayesian optimization in Experiment Manager:
I hope you find it helpful!
  1 Comment
CHRISTOPHER MILLAR
CHRISTOPHER MILLAR on 5 Oct 2021
Hi jorge,
Yes I have been using it and it makes the optimization process very easy to use.
Thanks for updating the thread with this information.
Regards
Chris

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!