0

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,...

これらのエラーはすべて、マトリックスの巨大なサイズが原因ですか? それほど多くのメモリを必要としないようにするための回避策はありますか? どうもありがとう。

4

1 に答える 1

1

これは、これに十分なメモリがないことを意味します (行列がそれほどまばらではないため)。行列のサイズを小さくして、コードを繰り返してみることができます。

于 2016-09-11T21:53:27.980 に答える