フィルターのクリア

YOLOv2における学習前のエラーについて

3 ビュー (過去 30 日間)
HY
HY 2020 年 7 月 8 日
コメント済み: Kenta 2020 年 7 月 9 日
今回、YOLOを使用して学習を行うことになりました。
自分の現状理解では、転移学習させたCNNを最後の特徴層?以後を切り離し、YOLOのサブネットワークをつなげ学習させる手順だと認識しています。
今回は、事前学習のネットワークとしてResNet18を転移学習させました。その後、YOLO仕様に変換さて学習を行ったところ、以下のようなエラーが起きてしまいました。エラー内容からして、変換後と変換前で特徴層のチャンネル数?が一致していないのではないかと考えていますが、どこに手をつければ良いか思いつきません。
よろしければ、ご指摘とアドバイスしていただければ幸いです。
よろしくお願いいたします。
inputSize = [224 224 3];
numClasses = width(vehicleDataset)-1;
trainingDataForEstimation = transform(trainingData,@(data)preprocessData(data,inputSize));
numAnchors = 7;
load('Resnet18v1');%転移学習したCNN
featureExtractionNetwork = Resnet18v1;
featureLayer = 'res5b_relu';
lgraph = yolov2Layers(inputSize,numClasses,anchorBoxes,featureExtractionNetwork,featureLayer);
options = trainingOptions('sgdm', ...
'MiniBatchSize', 16, ....
'InitialLearnRate',1e-3, ...
'MaxEpochs',20,...
'CheckpointPath', tempdir, ...
'Shuffle','never');
[detector,info] = trainYOLOv2ObjectDetector(preprocessedTrainingData,lgraph,options);
これを実行すると以下のエラーが発生します。
エラー: trainYOLOv2ObjectDetector (line 166)
[trainingData, lgraph, params] = iParseInputsYolov2(...
エラー: trainYOLOv2_2 (line 75)
[detector,info] = trainYOLOv2ObjectDetector(preprocessedTrainingData,lgraph,options);
原因:
ネットワーク: YOLO v2 変換層への入力は、7 個のアンカー ボックスと 21 個のクラスをサポートするために 182 個のチャネルをもたなければなりません。チャネ
ル数は numAnchors * (5 + numClasses) と等しくなければなりません。学習データ、yolov2Transform 層で指定されたアンカー ボックス数、または変換層の
前の層を更新します。

採用された回答

Kenta
Kenta 2020 年 7 月 8 日
こんにちは、そちらのネットワーク構成が質問文からのみではわからないので確認させてください。
res5b_reluの直後にyolov2Conv1が来ている形で正しいですか?
anchorBoxesという変数は7行2列の変数になっていますか?
また、analyzeNetwork(lgraph)というコマンドで、ネットワークを確認したとき、最後の出力はどうなってますか(例:7×7×182など)
  8 件のコメント
HY
HY 2020 年 7 月 9 日
指摘していただいた部分を確認したところ、学習させるラベルの数の設定が間違っていたようで、確認したら何とか学習に入りました!!
お騒がせしてすみません。Kenta様のアドバイスのおかげです。
誠にありがとうございました。
Kenta
Kenta 2020 年 7 月 9 日
はい、解決し、よかったです!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange深層学習、セマンティック セグメンテーション、検出 についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!