MATLAB Answers

深層学習における画像処理について

30 ビュー (過去 30 日間)
深層学習を用いて画像分類を行いたいのですが、画像データのサイズがばらばらであるため、augmentedImageDatastoreを使って学習データのサイズを変換しようとしました。しかし、エラーが出て、学習をすることができません。どうすればよいのでしょうか?
エラーは以下の通りです。
エラー: trainNetwork (行 183)
検証イメージのサイズは 375x500x3 ですが、入力層にはサイズ 28x28x3 のイメージが必要です。
コードは、層の設定を省略して載せています。
clear;
a=imageDatastore(fullfile("animal_data"),"IncludeSubfolders",true,"LabelSource","foldernames");
labelCount=countEachLabel(a)
[imdsTrain, imdsValidation] = splitEachLabel(a,0.7,0.3,"randomized");
allTrain=augmentedImageDatastore([28 28 3],imdsTrain);
layers = [
imageInputLayer([28 28 3])
・・・・
net = trainNetwork(allTrain,layers,options);

採用された回答

Hiroyuki Hishida
Hiroyuki Hishida 2021 年 4 月 1 日
岡安様、
"検証"イメージサイズがDNNの入力サイズにあっていないからかと思われます。
コードを拝見しますと、imdsTrainはaugmentaionされておりますが、imdsValidationはaugmentationされておりません。もし、imdsValidationを作成されたDNNに入力されますと、入力サイズエラーになるかと思われます。
菱田
  1 件のコメント
勇輝 岡安 
勇輝 岡安  2021 年 4 月 3 日
検証データもサイズ変更が必要なのを忘れていました。
サイズ変更をした結果、無事に学習を行えました。ありがとうございました。

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!