alexnetで転写学習を行ったのですが、ネットワークモデルがどこに保存されているのかわからず困っています。 教えて下さい。

 채택된 답변

Hirokazu Tanaka
Hirokazu Tanaka 2018년 8월 2일

3 개 추천

実際に実行された内容(コード)をみないと何とも言えませんが、どういった状況でしょうか?
例1:学習後のネットワークを mat ファイルに保存などの作業を行わず MATLAB を終了した場合: 学習結果は消えてしまっています。
例2:trainNetwork 関数を出力なしで実行した場合:実行直後は ans という変数名として存在するはずですが、その後上書きされている可能性はあります。

댓글 수: 6

chihiro sasaya
chihiro sasaya 2018년 8월 3일
편집: michio 2018년 8월 3일
チュートリアルの構文をなぞり実行しました。
imds = imageDatastore('MerchData', ...
'IncludeSubfolders',true, ...
'LabelSource','foldernames');
[imdsTrain,imdsValidation] = splitEachLabel(imds,0.7,'randomized');
net = alexnet;
layersTransfer = net.Layers(1:end-3);
numClasses = numel(categories(imdsTrain.Labels));
layers = [
layersTransfer
fullyConnectedLayer(numClasses,'WeightLearnRateFactor',20,'BiasLearnRateFactor',20)
softmaxLayer
classificationLayer];
pixelRange = [-30 30];
imageAugmenter = imageDataAugmenter( ...
'RandXReflection',true, ...
'RandXTranslation',pixelRange, ...
'RandYTranslation',pixelRange);
augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain, ...
'DataAugmentation',imageAugmenter);
augimdsValidation = augmentedImageDatastore(inputSize(1:2),imdsValidation);
options = trainingOptions('sgdm', ...
'MiniBatchSize',10, ...
'MaxEpochs',6, ...
'InitialLearnRate',1e-4, ...
'ValidationData',augimdsValidation, ...
'ValidationFrequency',3, ...
'ValidationPatience',Inf, ...
'Verbose',false, ...
'Plots','training-progress');
netTransfer = trainNetwork(augimdsTrain,layers,options);
YPred = predict(classifier,featuresTest);
idx = randperm(numel(imdsValidation.Files),4);
figure
for i = 1:4
subplot(2,2,i)
I = readimage(imdsValidation,idx(i));
imshow(I)
label = YPred(idx(i));
title(string(label));
end
Hirokazu Tanaka
Hirokazu Tanaka 2018년 8월 3일
netTransfer = trainNetwork(augimdsTrain,layers,options);
とある通り、転移学習後のネットワークは netTransfer のように見受けられます。ただその直後の
YPred = predict(classifier,featuresTest);
がよくわかりませんでした。classifier はどこから来たのでしょう。
どのページにあるチュートリアルなのか、使っているMATLABバージョン情報もあればうれしいですが、、その前にお困りの点は何でしょうか?
chihiro sasaya
chihiro sasaya 2018년 8월 3일
편집: chihiro sasaya 2018년 8월 3일
分かりづらくすみません。ご解答ありがとうございます。 alexnetをつかって、転移学習を行なった後のネットワークを使い自分で撮ってきた画像をつかって実験をしてみようと思っています。 現段階で転移後のネットワークモデルの場所が分からず困っていた次第です。
https://jp.mathworks.com/help/nnet/ref/alexnet.html
この中盤辺りの 事前学習済みのネットワークの読み込み の所から サンプルのデータを変えて見ておこないました。
バージョンは、'9.4.0.813654 (R2018a)' です。
Hirokazu Tanaka
Hirokazu Tanaka 2018년 8월 4일
詳細ありがとうございます。おそらく「AlexNet を使用した転移学習」というサンプルコードのことだと思いますが、
netTransfer = trainNetwork(augimdsTrain,layers,options);
のコマンドで転移層と新しい層とで構成されるネットワークを学習していますので、netTransfer がお探しの「転移後のネットワークモデル」になるのかと思うのですがいかがでしょう。「モデルの場所」というものが今少し理解できずにおります・・。
chihiro sasaya
chihiro sasaya 2018년 8월 5일
ご回答ありがとうございます。 うまくいきました! 最近まで違うツールでネットワークを触っていて、その感じ学習済みモデルというものが生成されるのかなと思いこのように書いてしまいました。 教えていただいて本当に感謝しています!
Hirokazu Tanaka
Hirokazu Tanaka 2018년 8월 5일
うまくいったようで、よかったです :) サンプルを実行してみるのもいいですが、こちらの「ディープラーニング入門」コースも無料ですし感触をつかむにはお勧めですよ。

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

제품

릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!