【Alexnet】inputLayerに対するイメージサイズの変更について
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
MASAYUKI EGUCHI
il 7 Apr 2018
Commentato: MASAYUKI EGUCHI
il 26 Mag 2018
MATLAB初心者の学生です。 Alexnetを用いた転移学習をしたいのですが、学習元のイメージサイズが、83×83です。 そのため、入力層を変えてみたのですが、下記のとおり、Layer'fc6 でエラーが生じました。
①Alexnetをどのように変更すればよいのでしょうか?
②また、Alexnetの変更で対応が困難な場合、学習元のイメージサイズを227×227 に変換する方法はありますでしょうか?
②の場合、大量のデータを扱っているので、簡易にできる方法があると助かります。 よろしくお願いいたします。
dsflowers=imageDatastore('C:\Flowers','IncludeSubfolders',true)
flowernames = dsflowers.Labels
dsflowers = imageDatastore('C:\Flowers','IncludeSubfolders',true,'LabelSource','foldernames')
[flwrTrain,flwrTest] = splitEachLabel(dsflowers,100)
anet=alexnet;
layers=anet.Layers
inputLayer = imageInputLayer([83 83 3]);
layers(1)=inputLayer
fc = fullyConnectedLayer(4)
layers(23) = fc
layers(end) = classificationLayer
opts = trainingOptions('sgdm','InitialLearnRate',0.001)
[flowernet,info]=trainNetwork(flwrTrain,layers,opts);
エラー:trainNetwork(line154)
無効なネットワーク
原因:Layer'fc6:Input size mismatch,Size of input to this layer is different from the expected input size.
この層の入力:from layer 'pool5'(1×1×256 出力)
0 Commenti
Risposta accettata
michio
il 8 Apr 2018
Modificato: michio
il 8 Apr 2018
入力画像のサイズを変えるのが良いかと思います。とはいえ、事前にすべての画像サイズを変更して保存しておく必要はなく、imageDatastore では、ReadFcn プロパティーを設定することで、画像を読み込むと同時にそのサイズ変更処理を実行させることができます。
ここでは読み込む際に画像のサイズを 227 x 227 に変更する処理を行う関数を添付しました。ダウンロードして
dsflowers = imageDatastore('C:\Flowers','IncludeSubfolders',true,'LabelSource','foldernames')
の後に
dsflowers.ReadFcn = @(filename)readAndPreprocessImage(filename);
と加えて、ReadFcn を設定してみてください。これで alexnet の入力層は変更せずに実行できるかと思います。
3 Commenti
michio
il 16 Apr 2018
①の方を改善した方が近道である気がしますので、こちらのエラーをまず見てみましょう。
エラー:trainNetwork(line 140) Invalid training data.The output size(4) of the last layer doesn't match the number of classes (1).
このエラーからは、4 つのラベルを分類させるネットワークを構築することを想定したネットワークでありながら、学習データに 1 つのラベルしか含まれていないことが推察されます。
dsflowers=imageDatastore('C:\Flowers\*.jpg','LabelSource','foldernames')
unique(dsflowers.Labels)
と実行してラベルの種類数を確認して頂けますか?
michio
il 16 Apr 2018
今回実施されたいことの具体的な例として
がありますので、ぜひ確認してみてください。
また、下記 Webinar の 20分~ も内容を理解するうえでお勧めです。
Più risposte (1)
MASAYUKI EGUCHI
il 22 Apr 2018
Modificato: michio
il 23 Apr 2018
Vedere anche
Categorie
Scopri di più su Deep Learning Toolbox in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!