前提・実現したいこと
深層学習ライブラリkerasの解析ツール「keras-explain」の使用経験のある方に質問です.
keras-explainのGradCamを使用して自作のモデル(CNN画像分類器)の解析を行いたいと思っています.
自作モデルは学習後.jsonファイルと.h5ファイルにモデルと重みパラメータを保存してあり,それを読み込んでいます.
が,以下のようなエラーが出ます.(VGG16で事前に試した時は出ませんでした.)
「GradCam need to have input dimension of the model defined.Please define it or use other approach.」
keras-explainのドキュメンテーションを見ると,GradCamを使うには解析するモデルとテスト画像,検証したいConv層を指定すれば良いようで特に入力次元の形状に関して特に記述が無いのですが,何かご存知の方がいらっしゃったらお聞きしたいです.
よろしくお願いいたします.
発生している問題・エラーメッセージ
エラーメッセージ
「GradCam need to have input dimension of the model defined.Please define it or use other approach.」
/anaconda3/lib/python3.7/site-packages/vis/visualization/saliency.py in _find_penultimate_layer(model, layer_idx, penultimate_layer_idx)
28 """
29 if penultimate_layer_idx is None:
---> 30 for idx, layer in utils.reverse_enumerate(model.layers[:layer_idx - 1]):
31 if isinstance(layer, Wrapper):
32 layer = layer.layer
「TypeError: unsupported operand type(s) for -: 'str' and 'int'」
該当のソースコード
predicted_class = np.argmax(pred)
explainer = GradCam(TM_model, layer = 'block5_conv3')
→exp = explainer.explain(image = x, target_class = predicted_class)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。