MATLAB Answers

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

29 views (last 30 days)
深層学習を用いて画像分類を行いたいのですが、画像データのサイズがばらばらであるため、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);

Accepted Answer

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

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!