Какой самый простой способ запустить часть модели? - PullRequest
0 голосов
/ 08 апреля 2019

Я имею дело с функциональным 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]])

Но этот подход не сработает, потому что для вывода любого результата мне нужно передать значение в тензор.

Является ли воссоздание графика с нуля моим лучшим вариантом здесь?

Спасибо

The input of the network is input_1. The layer of interest is Relu at the bottom

1 Ответ

0 голосов
/ 08 апреля 2019

Если я правильно понял, вы можете просто указать входной и выходной узлы

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)

Вы можете установить выход для любого имени слоя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...