AlexNetを用いた転移学習を実装したい

조회 수: 4 (최근 30일)
陸
2022년 10월 25일
댓글: Atsushi Ueno 2022년 10월 27일
options = trainingOptions('sgdm', ...
'MiniBatchSize',10, ...
'MaxEpochs',6, ...
'InitialLearnRate',1e-4, ...
'Shuffle','every-epoch', ...
'ValidationData',augimdsValidation, ...
'ValidationFrequency',3, ...
'Verbose',false, ...
'Plots','training-progress');
エラーメッセージ
nnet.cnn.TrainingOptionsSGDM
'ValidationData'の値は無効です。三番目の次元で入力イメージサイズが異なっているため、augmentedImageDatastoreはデータのMiniBatchesを形成できません。'ColorPreprocessing'オプションを使用してすべての拡張イメージに同数のチャネルを確保することを検討してください。
エラー:trainingOptions(340)opts=nnet.cnn.TrainingOptionsSGDM(varargin{:});
サンプルコードをコピペし、自前のイメージフォルダを使っています。

채택된 답변

Atsushi Ueno
Atsushi Ueno 2022년 10월 25일
편집: Atsushi Ueno 2022년 10월 26일
%> (Alexnetの)最初のイメージ入力層にはサイズが 227 x 227 x 3 の入力イメージが必要です。ここで 3 はカラーチャネルの数です。
「三番目の次元で入力イメージサイズが異なっている」は即ち「カラーイメージが入力されていない」という事です。自前のイメージフォルダの中にカラーではないイメージファイルが存在するはずです。(そのファイルの変更は不要です)
イメージ データストアにグレースケール イメージと RGB イメージが混在していても、augmentedImageDatastore関数にそれらを統一する機能「ColorPreprocessing — 色の前処理演算」オプションがあります。
「'ColorPreprocessing'オプションを使用してすべての拡張イメージに同数のチャネルを確保することを検討してください」は即ち「'ColorPreprocessing'オプションを使用して入力をカラーイメージに統一してください」という事です。
augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain, ...
'DataAugmentation',imageAugmenter, ... % ←他のデータ拡張を実行
'ColorPreprocessing','gray2rgb'); % ←ここを追加
(2022/10/26追記)
>他のデータ拡張を実行せずに検証イメージのサイズを自動的に変更するには、追加の前処理演算を指定せずに拡張イメージ データストアを使用します。(つまり検証イメージの方は2行目を追加しないという事です)
augimdsValidation = augmentedImageDatastore(inputSize(1:2),imdsValidation, ...
'ColorPreprocessing','gray2rgb'); % ←ここを追加
  댓글 수: 8
陸
2022년 10월 26일
最後まで実行されました!
今回重要なことは画像の色調が統一されておらず、'ColorPreprocessing'オプションを使用して入力をカラーイメージに統一することができる事で間違いないでしょうか?
精度は93%程度でした!本当にありがとうございました。
Atsushi Ueno
Atsushi Ueno 2022년 10월 27일
今回重要なことは画像の色調が統一されておらず、'ColorPreprocessing'オプションを使用して入力をカラーイメージに統一することができる事で間違いないでしょうか?
⇒間違いありません。エラーメッセージの言う通りです。
何度も回答を間違えてしまい申し訳ありません。出来るだけこちらでもコードを動かして検証してから投稿するように致します。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 イメージを使用した深層学習에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!