Using the myNeuralNetworkFunction generated from the Neural Network Toolbox App

31 ビュー (過去 30 日間)
Damien Ingham
Damien Ingham 2020 年 8 月 9 日
回答済み: Anshika Chaurasia 2020 年 8 月 12 日
Hi,
Forgive me if this is a simple problem but I can't seem to use the function generated after training a LSTM network in the app.
Once the app is finished it generates a script with the function, however, when i try to put a new data set into in it ([8xTS] 8 features over TS timesteps) the function rejects it with the error:
Cell contents reference from a non-cell array object.
Error in myNeuralNetworkFunction (line 75)
Xd1{ts} = mapminmax_apply(Xi{1,ts},x1_step1);
Here's the section of the script:
Xd1 = cell(1,3);
for ts=1:2
Xd1{ts} = mapminmax_apply(Xi{1,ts},x1_step1);
end
and the line I'm trying to input is
y = myNeuralNetworkFunction(input,2)
What am I doing wrong here?
Thanks in advance for your help

回答 (1 件)

Anshika Chaurasia
Anshika Chaurasia 2020 年 8 月 12 日
Hi Damien,
  • When the app is finished it generates a script with the function - myNeuralNetworkFunction(X,Xi,~) where Xi should be cell array.
  • As you mentioned that you are using y = myNeuralNetworkFunction(input,2). Here second argument is not cell array i.e. Xi = 2.
  • Hence provide second argument as cell array to myNeuralNetworkFunction.
%[Y,Xf,Af] = myNeuralNetworkFunction(X,Xi,~) takes these arguments:
%
% X = 1xTS cell, 1 inputs over TS timesteps
% Each X{1,ts} = 2xQ matrix, input #1 at timestep ts.
%
% Xi = 1x2 cell 1, initial 2 input delay states.
% Each Xi{1,ts} = 2xQ matrix, initial states for input #1.
%
% Ai = 2x0 cell 2, initial 2 layer delay states.
% Each Ai{1,ts} = 10xQ matrix, initial states for layer #1.
% Each Ai{2,ts} = 2xQ matrix, initial states for layer #2.
%
% and returns:
% Y = 1xTS cell of 1 outputs over TS timesteps.
% Each Y{1,ts} = 2xQ matrix, output #1 at timestep ts.
%
% Xf = 1x2 cell 1, final 2 input delay states.
% Each Xf{1,ts} = 2xQ matrix, final states for input #1.
%
% Af = 2x0 cell 2, final 0 layer delay states.
% Each Af{1ts} = 10xQ matrix, final states for layer #1.
% Each Af{2ts} = 2xQ matrix, final states for layer #2.
%
% where Q is number of samples (or series) and TS is the number of timesteps.
Refer to link for more understanding of error.

カテゴリ

Help Center および File ExchangeGet Started with Statistics and Machine Learning Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by