augmentedImageDatastoreと特徴データを結合したcombinedDatastoreを用いてtrainNetworkするには?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Akifumi Yoshida
el 22 de Jun. de 2022
Comentada: Shunichi Kusano
el 7 de Jul. de 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 comentarios
Respuesta aceptada
Shunichi Kusano
el 23 de Jun. de 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 comentarios
Shunichi Kusano
el 7 de Jul. de 2022
「学習後のモデル性能が低い」というのはそもそも学習に用いたデータセットでも精度が出てないということでしょうか。つまりlossが下がらないということですか?
判断材料としてそれぞれのパターンで学習に用いたコードと、学習後のモデル性能を評価した際のコード、それから学習した際の学習曲線をシェアいただけると何かわかるかもしれません。
Más respuestas (0)
Ver también
Categorías
Más información sobre イメージを使用した深層学習 en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!