#tensorflow #keras
#тензорный поток #keras
Вопрос:
Я имею дело с функциональным API Keras. Специально для моих экспериментов я использую модель Keras resnet50, полученную с:
model = resnet50.ResNet50(weights='imagenet')
Очевидно, что для получения конечного вывода сети нам нужно ввести значение в заполнитель input_1
.
Мой вопрос в том, могу ли я как-то начать выводить этот график из relu
слоя, который изображен внизу рисунка ниже, при условии, что я добавляю в него значение соответствующих размеров?
Я пытался добиться этого с помощью Keras functions
. Что-то вроде:
self.inp = model.input
self.outputs = [layer.output for layer in model.layers]
self.functor = K.function([self.inp, K.learning_phase()], [self.outputs[6], self.outputs[17]])
Но этот подход не сработает, потому что опять же для вывода любого вывода мне нужно ввести значение в тензор.
Является ли воссоздание графика с нуля моим лучшим вариантом здесь?
Спасибо
Комментарии:
1. просто любопытно, как вы создали, я имею в виду, это изображение графика вычислений?
2. @mujjiga наслаждайтесь отличными инструментами визуализации: D lutzroeder.github.io/netron
Ответ №1:
Если я вас правильно понял, вы можете просто указать входные и выходные узлы
base_model = tf.keras.applications.ResNet50(weights='imagenet')
inference_model = tf.keras.Model(inputs=base_model.input, outputs=base_model.get_layer('any_layer_name').output)
Вы можете задать для вывода любое имя слоя
Комментарии:
1. Это выглядит чрезвычайно многообещающе! Попробую это и отмечу как принятое, если это сработает. Спасибо