这个怎么改呀?
%% 输入有3个特征,输出有1个特征。
numFeatures = numel(net_input(:,1)); %3
numResponses = numel(net_output(:,1)); %1
layers = [ ...
sequenceInputLayer(numFeatures) %输入层为5
lstmLayer(numHiddenUnits) %lstm层,构建5层的LSTM模型,
fullyConnectedLayer(numResponses) %为全连接层,是输出的维数。
regressionLayer]; %其计算回归问题的半均方误差模块 。即说明这不是在进行分类问题。
options = trainingOptions('adam', ... %指定训练选项,求解器设置为adam, 1000轮训练。
'MaxEpochs',150, ... %最大训练周期为150
'GradientThreshold',1, ... %梯度阈值设置为 1
'InitialLearnRate',0.01, ... %指定初始学习率 0.01
'LearnRateSchedule','piecewise',0.001, ... %每当经过一定数量的时期时,学习率就会乘以一个系数。
'LearnRateDropPeriod', LearnRateDropPeriod,50, ...
'LearnRateDropFactor',LearnRateDropFactor,0.5, ... %在50轮训练后通过乘以因子 0.5 来降低学习率。
'Verbose',0, ... %如果将其设置为true,则有关训练进度的信息将被打印到命令窗口中,0即是不打印 。
'Plots','training-progress'); %构建曲线图 。
net = trainNetwork(XTrain,YTrain,layers,options); %训练神经网络
save('LSTM_net', 'net'); %将net保存为LSTM_net
问题:错误使用 nnet.cnn.TrainingOptionsADAM
需要字符串标量或字符向量形式的参数名称。
出错 trainingOptions (第 342 行)
opts = nnet.cnn.TrainingOptionsADAM(varargin{:});