【发布时间】:2014-09-29 07:20:47
【问题描述】:
我正在尝试在大型训练集上训练神经网络。
inputs 由大约 400 万列和 128 行组成,targets 由 62 行组成。
hiddenLayerSize 是 128。
脚本如下:
net = patternnet(hiddenLayerSize);
net.inputs{1}.processFcns = {'removeconstantrows','mapminmax'};
net.outputs{2}.processFcns = {'removeconstantrows','mapminmax'};
net.divideFcn = 'dividerand'; % Divide data randomly
net.divideMode = 'sample'; % Divide up every sample
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
net.trainFcn = 'trainbfg';
net.performFcn = 'mse'; % Mean squared error
net.plotFcns = {'plotperform','plottrainstate','ploterrhist', ...
'plotregression', 'plotfit'};
net.trainParam.show = 1;
net.trainParam.showCommandLine = 1;
[net,tr] = train(net,inputs,targets, 'showResources', 'yes', 'reduction', 10);
当train 开始执行时,Matlab 挂起,Windows 挂起或变慢,交换运行磁盘巨大,数十分钟内没有其他任何反应。
计算机是 12Gb Windows x64,Matlab 也是 64 位。进程管理器中的内存使用在运行期间会有所不同。
除了减少train set还能做什么?
如果减少列车组,那么到哪个级别?除了尝试,如何估计它的大小?
为什么函数不显示任何东西?
【问题讨论】:
标签: matlab neural-network bigdata