필터 지우기
필터 지우기

ResNet50 を用いたGrad-cam

조회 수: 7 (최근 30일)
eri matsuyama
eri matsuyama 2020년 4월 26일
댓글: eri matsuyama 2020년 4월 26일
初めての質問投稿です。よろしくお願いいたします。
ドキュメンテーション(Grad-CAMでの深層学習による判定理由の解明)を見ながら、勉強しています。
実際にGoogleNetで、独自の画像を使って試して見たところ、上手き、感激しました。
一方、RseNet18で実施したく、ResNet18を読み込みました。
そして、ソフトマックス層の名前と最終畳み込み層の名前を以下のように記述してみました。
softmaxName = 'prob';
convLayerName = 'res5b_relu'; 
しかし,以下のようなエラーになります。
エラー: dlfeval (line 41)
[varargout{1:nout}] = deep.internal.dlfeval(fun,varargin{:});
エラー: G_CAM (line 105)
[convMap, dScoresdMap] = dlfeval(@gradcam, dlnet, dlImg, softmaxName, convLayerName, classfn);
ResNetの最終畳み込み層の指定に誤りがあるのだと思いますが、どの層を指定すれば良いのか、
お教え頂きたく思います。 よろしくお願いいたします。

채택된 답변

Kenta
Kenta 2020년 4월 26일
こんにちは、私の方では問題なく実行できました。
>ResNetの最終畳み込み層の指定に誤りがあるのだと思いますが、どの層を指定すれば良いのか
こちら、matsuyamaさまのコードで正しいと思います。
一度、添付したファイルを実行していただけませんか。
ちなみに、学習過程でもCAMを作成し、次第に「よい特徴を学習していく」ことを示したデモもあります。
以下のURLもよければ参考にしてみてください。よろしくお願いいたします。
  댓글 수: 3
Kenta
Kenta 2020년 4월 26일
返信ありがとうございます。解決し、よかったです。タイトルがresnet50になってますが、18との間違いですかね?ほかの理由としてはある行をそれ単体で実行してしまっている(「セクションを実行」をしなければならない)などが考えられます。理由は置いておいて、grad-camやカスタムループと呼ばれるものの実行は若干不規則かもしれません。また進めるにあたって問題あれば連絡ください。
eri matsuyama
eri matsuyama 2020년 4월 26일
こちらこそ、ありがとうございます。
お察しの通り、行単体で実行している事が原因のような気がいたします。
他に怪しい箇所が見当たりませんので。アドバイスを頂けて、本当に助かりました。
タイトルの件ですが、当初resnet50で転移学習をしておりました。学習データ数が1000程ですので、resnst50より18の方が良いかと考えており...タイトルを間違えて
しまいました。申し訳ありません。今後ともよろしくお願いいたします。

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!