I am using the narxnet to do training in linux based HPC cpus. As I already did run the same code in windows desktop. To get more hidden layers I am trying to run in HPC .
I see the following error: In .e file
{Error using appwindowfactory
This functionality is not supported under the -nojvm startup option.
Error in matlab.ui.internal.uifigureImpl (line 80)
window = appwindowfactory('WindowStyle','normal',...
Error in uifigure (line 26)
window = matlab.ui.internal.uifigureImpl(varargin{:});
Error in nnet.guis.StandaloneTrainToolView (line 115)
this.Figure = uifigure('Visible', 'off',...
Error in nnet.guis.NNTrainToolFactory/createStandaloneView (line 12)
view = nnet.guis.StandaloneTrainToolView(this);
Error in nnet.guis.StandaloneTrainToolPresenter (line 32)
this.StandaloneTrainToolView = this.TrainToolFactory.createStandaloneView();
Error in nnet.guis.NNTrainToolFactory/createStandalonePresenter (line 8)
presenter = nnet.guis.StandaloneTrainToolPresenter(this);
Error in nnet.train.TrainToolFeedback/startImpl (line 70)
this.TrainToolPresenter = this.TrainToolFactory.createStandalonePresenter();
Error in nnet.train.FeedbackHandler/start (line 18)
this.startImpl(useSPMD,data,net,tr,options,status);
Error in nnet.train.MultiFeedback/startImpl (line 29)
this.Handlers{i}.start(useSPMD,data,net,tr,options,status);
Error in nnet.train.FeedbackHandler/start (line 18)
this.startImpl(useSPMD,data,net,tr,options,status);
Error in nnet.train.trainNetwork>trainNetworkInMainThread (line 42)
feedback.start(false,rawData,archNet,worker.tr,calcLib.options,worker.status);
Error in nnet.train.trainNetwork (line 27)
[archNet,tr] = trainNetworkInMainThread(archNet,rawData,calcLib,calcNet,tr,feedback,localFcns);
Error in trainscg>train_network (line 145)
[archNet,tr] = nnet.train.trainNetwork(archNet,rawData,calcLib,calcNet,tr,localfunctions);
Error in trainscg (line 55)
[out1,out2] = train_network(varargin{2:end});
Error in network/train (line 380)
[net,tr] = feval(trainFcn,'apply',net,data,calcLib,calcNet,tr);
}
The code lines which have issue
% Create a NARX network. Define the input delays, feedback delays, and size of the hidden layers.
net = narxnet(1:4,1:4,4);
% Prepare the time series data using preparets. This function automatically shifts input and target time series by the number of steps needed to fill the initial input and layer delay states.
[Xs,Xi,Ai,Ts] = preparets(net,Xcell,{},Ycell);
% Train the NARX network. The train function trains the network in an open loop (series-parallel architecture), % including the validation and testing steps.
net.trainFcn = 'trainscg' % to avoid the memory issue BackpropJacobi
net = train(net,Xs,Ts,Xi,Ai);
% view(net)
% Calculate the network output Y, final input states Xf, and final layer states Af of the open-loop network from the network input Xs, initial input states Xi, and initial layer states Ai.
[Y,Xf,Af] = net(Xs,Xi,Ai);
I did comment the view to avoid any ui layout
CodePudding user response:
After obtain a net object by
net = narxnet(1:4,1:4,4);
Could you check this property on the net object,
net.trainParam.showWindow
If this is true, a training window nntraintool should be displayed, which could cause the problem.
Also if your actual code is more complicated, matlab may reset this option in some of the steps, so you need to change the option at the right position.