trainNetwork 関数で学習させると、メモリ不足のエラーが出るのはなぜですか?
조회 수: 10 (최근 30일)
이전 댓글 표시
MathWorks Support Team
2019년 8월 27일
편집: MathWorks Support Team
2024년 4월 23일
trainNetwork 関数を用いて CNN(深層ニューラルネットワーク)による学習をさせると、以下のエラーが発生します。
ERROR: エラー: nnet.internal.cnngpu.convolveForward2D
デバイスのメモリが足りません。GPU で利用可能なメモリの詳細を表示するには、'gpuDevice()' を使用します。問題が解決しない場合は、'gpuDevice(1)' を呼び出して GPU をリセットしてくださ
い。
ERROR: エラー: nnet.internal.cnn.layer.FullyConnected/forward (line 73)
Z = nnet.internal.cnngpu.convolveForward2D(...
エラー: nnet.internal.cnn.SeriesNetwork/forwardPropagation (line 133)
[layerOutputs{currentLayer}, memory{currentLayer}] = this.Layers{currentLayer}.forward( layerOutputs{currentLayer-1} );
エラー: nnet.internal.cnn.SeriesNetwork/gradients (line 73)
[layerOutputs, memory] = this.forwardPropagation(data);
エラー: nnet.internal.cnn.Trainer/train (line 58)
[gradients, miniBatchLoss, miniBatchAccuracy] = net.gradients(X, Y);
エラー: trainNetwork (line 92)
trainedNet = trainer.train(trainedNet, dispatcher);
エラー: samp (line 26)
net = trainNetwork(XTrain,TTrain,layers,opts);
채택된 답변
MathWorks Support Team
2024년 4월 23일
편집: MathWorks Support Team
2024년 4월 23일
GPU のメモリサイズが小さいことが予想されます。
trainNetwork 利用時にGPU のメモリを増やす代わりに、MiniBatchSizeオプションの値を調整することをご検討ください。
この値を小さくするとメモリの消費を小さくすることができます (性能も変わります)。
GPU のメモリを増やす以外の方法として、trainNetworkの関数を呼び出す際、'MiniBatchSize' オプションの値を調整することをご検討ください。
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Parallel and Cloud에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!