セマンティックセグメンテーションの評価
2 views (last 30 days)
Show older comments
URLのコードをもとに解析を行ったところ学習と画像の出力は出来たのですがネットワークの評価の際GPUのメモリ不足のエラーが出ました
%学習済みネットワークの評価
pxdsResults = semanticseg(imdsTest,net,'WriteLocation',tempdir,'Verbose',false);
metrics = evaluateSemanticSegmentation(pxdsResults,pxdsTest,'Verbose',false);
metrics.DataSetMetrics
metrics.ClassMetrics
metrics.ConfusionMatrix
normConfMatData = metrics.NormalizedConfusionMatrix.Variables;
figure
h = heatmap(classes,classes,100*normConfMatData);
h.XLabel = 'Predicted Class';
h.YLabel = 'True Class';
h.Title = 'Normalized Confusion Matrix (%)';
%学習オプションの選択
options = trainingOptions('sgdm', ...
'Momentum',0.9, ...
'InitialLearnRate',1e-3, ...
'L2Regularization',0.0005, ...
'MaxEpochs',100, ...
'MiniBatchSize',1, ...
'Shuffle','every-epoch', ...
'VerboseFrequency',2);
CUDADevice のプロパティ:
Name: 'GeForce GTX 950'
Index: 1
ComputeCapability: '5.2'
SupportsDouble: 1
DriverVersion: 10.1000
ToolkitVersion: 10.1000
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 2.1475e+09
AvailableMemory: 1.6633e+09
MultiprocessorCount: 6
ClockRateKHz: 1190000
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1
0 Comments
Accepted Answer
Kenta
on 7 Dec 2019
こんにちは、ネットワークの評価の際にGPUのメモリ不足のエラーが出たということは
pxdsResults = semanticseg(imdsTest,net,'WriteLocation',tempdir,'Verbose',false);
こちらのコードが実行できなかったということで正しいでしょうか?
関数semanticsegを実行する際のデフォルトのミニバッチサイズは128になっているため、そのミニバッチ分のデータがGPUメモリに乗らなかったと考えられます。そのため、
pxdsResults = semanticseg(imdsTest,net,'WriteLocation',tempdir,'Verbose',false,'MiniBatchSize',1);
などとして、ミニバッチサイズを小さくした上で実行すれば問題ないと思うのですがいかがでしょうか。
2 Comments
Kenta
on 7 Dec 2019
返信いただきありがとうございます。よかったです。
ミニバッチサイズを1にすると、推論の時間が長くなるので、128以下の範囲で
もう少し大きくしてもよいかもしれません。とはいえ、値を大きくしてフリーズしても困りますので、難しいですが...
More Answers (0)
See Also
Categories
Find more on イメージを使用した深層学習 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!