Я использую сверточную основу NASNetLarge с собственными сплющенными и плотными слоями поверх нее для своей собственной задачи классификации (Keras / Tensorflow).
После обучения модели я хотел бы построить тепловую карту с использованием Grad -CAM принцип, использующий выходные данные последнего сверточного слоя в сверточной базе NASNetLarge, а именно: "normal_conv_1_18"
.
Когда я пытаюсь вызвать:
grads = Keras.backend.gradients(model.output [:, "my class"], conv_layer.output) [0]
(где conv_layer
= «normal_conv_1_18» и "my class"
- идентификатор нужного мне класса.)
Я получаю grads = "None"
. Как я понимаю, это потому, что выходные данные conv_layer
не соответствуют функции градиентов.
Не могли бы вы помочь мне, как мне получить доступ к выходным данным этого слоя? Возможно ли это?