trainNetwork 関数で学習させると、メモリ不足のエラーが出るのはなぜですか?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 27 Août 2019
Modifié(e) : MathWorks Support Team
le 23 Avr 2024
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);
Réponse acceptée
MathWorks Support Team
le 23 Avr 2024
Modifié(e) : MathWorks Support Team
le 23 Avr 2024
GPU のメモリサイズが小さいことが予想されます。
trainNetwork 利用時にGPU のメモリを増やす代わりに、MiniBatchSizeオプションの値を調整することをご検討ください。
この値を小さくするとメモリの消費を小さくすることができます (性能も変わります)。
GPU のメモリを増やす以外の方法として、trainNetworkの関数を呼び出す際、'MiniBatchSize' オプションの値を調整することをご検討ください。
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Parallel and Cloud dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!