我正在训练一个神经网络来学习一个功能。到目前为止,一切都很顺利。
我输入矩阵为4x10000,输出矩阵为3x10000。我有比10000更多的数据点。但并非所有数据点都可以同时适应所以我决定提供10000-10000个数据点并在其上训练相同的神经网络。
隐藏层中有三层和7个单元。
所以我做的是,我随机训练网络10000个数据点,然后再次训练另外10000个数据点等等。
因此,我存储CheckPoints
(神经网络工具包的内置功能)。但是,正在训练的network
被struct
存储在CheckPoints
而不是network
类型本身。因此,当我下次运行程序时加载检查点时,它会显示如下错误。
Undefined function 'train' for input arguments of type 'struct'
我正在使用fitnet
网络。
% Create a Fitting Network
hiddenLayerSize = 7;
net = fitnet(hiddenLayerSize,'trainlm');
% Setup Division of Data for Training, Validation, Testing
net.divideParam.trainRatio = 60/100;
net.divideParam.valRatio = 20/100;
net.divideParam.testRatio = 20/100;
load('Highlights_Checkpoint.mat');
existanceOfCheckpoint = exist('checkpoint', 'var');
if existanceOfCheckpoint==0
else
net = (checkpoint.net);
end
% Train the Network
[net,tr] = train(net,x,t,'useParallel', 'yes','showResources','yes', 'CheckpointFile','Highlights_Checkpoint.mat');
答案 0 :(得分:0)
很好地解决了这个问题。
我所要做的就是以下几点:
net = network(checkpoint.net);
一切都已确定。 :d