机器学习(MATLAB) - 神经网络在检查点

时间:2017-01-19 13:42:34

标签: matlab machine-learning neural-network

我正在训练一个神经网络来学习一个功能。到目前为止,一切都很顺利。

我输入矩阵为4x10000,输出矩阵为3x10000。我有比10000更多的数据点。但并非所有数据点都可以同时适应所以我决定提供10000-10000个数据点并在其上训练相同的神经网络。

隐藏层中有三层和7个单元。

所以我做的是,我随机训练网络10000个数据点,然后再次训练另外10000个数据点等等。

因此,我存储CheckPoints(神经网络工具包的内置功能)。但是,正在训练的networkstruct存储在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');

1 个答案:

答案 0 :(得分:0)

很好地解决了这个问题。

我所要做的就是以下几点:

net = network(checkpoint.net);

一切都已确定。 :d