Clear Filters
Clear Filters

PREPARETS: solved. How to test/predict a/with neural network with a new series of input?

3 views (last 30 days)
Preparets has been solved. I will continue working on my code. Question will be updated if necessary or deleted if no other questions surface.
-----------------------------------------------------------------------------------
I designed a NARX neural network with the following code:
%%The files are attached
load('LeftEMGsInputSeries.mat')
load('LeftAnkleAngleTargetSeries.mat')
load('held_LeftEMGsInputSeriesup.mat')
load('held_LeftAnkleAngleTargetSeriesup.mat')
%%Create a Nonlinear Autoregressive Network with External Input
inputDelays = 10:15;
feedbackDelays = 10:15;
hiddenLayerSize = 10;
perf = [];
net = narxnet(inputDelays,feedbackDelays,hiddenLayerSize);
net = openloop(net);
%%Prepare data and Train network
[inputs,inputStates,layerStates,targets,EWs,SHIFT] = preparets(net,LeftEMGsInputSeries,{},LeftAnkleAngleTargetSeries);
[net,tr] = train(net,inputs,targets,inputStates,layerStates);
%Switch the network to predictive mode
newnet = removedelay(net,10);
And it works. Now, I want to predict an output based on a new set of inputs. Since my new series are not the same size of the original test/train series, I tried to prepare the series with:
[held_inputs,held_inputStates,held_layerStates,held_targets,held_EWs,held_SHIFT] = preparets(net,held_LeftEMGsInputSeriesup,{},held_LeftAnkleAngleTargetSeriesup);
And then use:
Predicted_targets = net(held_inputs, held_inputStates, held_layerStates);
perf = perform(newnet,held_LeftAnkleAngleTargetSeriesup, Predicted_targets);
But I get an error on the preparets line.
Error using preparets (line 78)
Inputs{1,1} is not numeric or logical.
A colleague developed a similar network and his code below works:
[held_back_inputs,held_back_inputStates,held_back_layerStates,held_back_targets,held_back_EWs,held_back_SHIFT] = preparets(net,held_back_inputSeries_altered,{},held_back_targetSeries_altered);
I cannot see the difference. I don't know if the error comes on how the arrays/cells were created. How can I fix this issue?
Thank you,
  2 Comments
Greg Heath
Greg Heath on 5 Sep 2017
Never delete an unanswered question unless, upon further reflection, the question is obviously stupid.
I say this because, more than a few times, ancient unanswered questions have given me insight for solving questions of both mine and others.
Greg

Sign in to comment.

Accepted Answer

ErikaZ
ErikaZ on 20 Jul 2018
In this case, the data was not as individual cell arrays.
con2seq()
can be use to format the data correctly.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!