LSTM神经网络训练遇见的问题

这个怎么改呀?

%% 输入有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{:});