augmentedImageDatastoreと特徴データを結合したcombinedDatastoreを用いてtrainNetworkするには?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Akifumi Yoshida
le 22 Juin 2022
Commenté : Shunichi Kusano
le 7 Juil 2022
画像と、画像に対応する特徴データを入力とする深層学習ネットワークの学習に関する質問です。
画像 (imageDatastore)、特徴データ (arrayDatastore) をcombineで結合したCombinedDatastoreを用いて、回帰型深層学習ネットワークの学習(trainNetwork)を行っています。
画像のデータストアがimageDatastoreやarrayDatastoreの場合、特徴データと結合後、trainNetworkにより問題なく学習が進行します。
同じデータを用いて画像のaugmentationを行いたく、
dsXTrain = augmentedImageDatastore([size_y size_x], imagedatastore)
によりaugmentedImageDatastoreに変換し、これを特徴データとcombineし、trainNetworkに用いると、以下のメッセージが表示され、学習を行うことができません。どのようにすればよいのでしょうか?
使い方によるエラー trainNetwork
水平方向に連結される table はすべて、同じ行数でなければなりません。cell 配列と table を連結する
場合、cell 配列と table は同じ行数でなければなりません。
0 commentaires
Réponse acceptée
Shunichi Kusano
le 23 Juin 2022
各データストアのミニバッチサイズが違うと同じエラーが再現しました。combineする際にreadSize, minibatchSizeを揃えてあげれば大丈夫かと思います。下記が例です。
%% イメージデータストア
dataFolder = fullfile(toolboxdir('nnet'),'nndemos','nndatasets','DigitDataset');
imds = imageDatastore(dataFolder, ...
'IncludeSubfolders',true);
%% augmentedデータストア
auds = augmentedImageDatastore([100 100],imds);
%% 入力用特徴量arrayデータストア
numData = auds.NumObservations;
dummyArray = rand(numData,1);
arrdsIn = arrayDatastore(dummyArray,"ReadSize",auds.MiniBatchSize);
%% 応答子用数値ベクトル
numData = auds.NumObservations;
dummyArray = rand(numData,1);
arrdsOut = arrayDatastore(dummyArray, "ReadSize",auds.MiniBatchSize);
%% combine
cds = combine(arrdsIn,auds,arrdsOut);
read(cds)
%% 学習
net = trainNetwork(cds,lgraph,options); % lgraphのInputNamesとcdsの入力データの順番が整合しているかを確認
解決しなければ、すみません、再度お知らせ願います。
3 commentaires
Shunichi Kusano
le 7 Juil 2022
「学習後のモデル性能が低い」というのはそもそも学習に用いたデータセットでも精度が出てないということでしょうか。つまりlossが下がらないということですか?
判断材料としてそれぞれのパターンで学習に用いたコードと、学習後のモデル性能を評価した際のコード、それから学習した際の学習曲線をシェアいただけると何かわかるかもしれません。
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur イメージを使用した深層学習 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!