我有一个名为pbAttack的10 ^ 5平方稀疏矩阵。每个元素表示节点i和节点j之间是否存在连接。如果有连接,pbAttack(i,j)= 1.否则,pbAttack(i,j)= 0.然后我想按照本教程使用它:Matlab Autoencoders。我使用与链接的Matlab教程中相同的代码。我只更改它以使用我的数据。 但是,我遇到了以下错误:
Error using bsxfun
Out of memory. Type HELP MEMORY for your options.
Error in mapminmax.apply (line 8)
y = bsxfun(@plus,y,settings.ymin);
Error in mapminmax.create (line 44)
y = mapminmax.apply(x,settings);
Error in mapminmax (line 51)
[y,settings] = mapminmax.create(x,param);
Error in nnet.internal.configure.input (line 31)
[x,config] = feval(processFcns{j},x,processParams{j});
Error in network/configure (line 234)
net = nnet.internal.configure.input(net,i,X{i});
Error in nntraining.config (line 116)
net = configure(network(net),X,T);
Error in nntraining.setup>setupPerWorker (line 68)
[net,X,Xi,Ai,T,EW,Q,TS,err] = nntraining.config(net,X,Xi,Ai,T,EW,configNetEnable);
Error in nntraining.setup (line 43)
[net,data,tr,err] = setupPerWorker(net,trainFcn,X,Xi,Ai,T,EW,enableConfigure);
Error in network/train (line 335)
[net,data,tr,err] = nntraining.setup(net,net.trainFcn,X,Xi,Ai,T,EW,enableConfigure,isComposite);
Error in Autoencoder.train (line 490)
net = train(net,X,X,'useGPU',iYesOrNo(useGPU));
Error in trainAutoencoder (line 105)
autoenc = Autoencoder.train(X, autonet, paramsStruct.UseGPU);
Error in workflow_autoencoder (line 8)
autoenc1 = trainAutoencoder(pbAttack,hiddenSize,...
所有这些错误都是由巨大的矩阵造成的吗?是否有一个解决方案,以便它不需要这么多的内存?非常感谢你。
答案 0 :(得分:0)
这只意味着你没有足够的内存(因为你的矩阵不是那么稀疏)。您可以尝试通过减小矩阵的大小来重复代码。