Извлечение активаций модели VGG16 - PullRequest
1 голос
/ 01 марта 2020

Я использую Tensorflow 2.0 и предварительно обученную модель VGG16. Я хотел бы визуализировать активации. Поэтому я хочу извлечь их.

В настоящее время я делаю следующее:

model = tf.keras.applications.VGG16(input_shape=(224, 224, 3), weights='imagenet')
model.outputs = [layer.output for layer in model.layers]
model.build(input_shape=(1, 224, 224 ,3))
activations = model(image_data)

Однако при попытке вызвать последнюю строку я получаю следующую ошибку:

ValueError: Structure is a scalar but len(flat_sequence) == 23 > 1

1 Ответ

1 голос
/ 01 марта 2020

Будет ли такой подход: https://machinelearningmastery.com/how-to-visualize-filters-and-feature-maps-in-convolutional-neural-networks/

работать для TF 2.0?

from keras.applications.vgg16 import VGG16
from matplotlib import pyplot
# load the model
model = VGG16()
# retrieve weights from the second hidden layer
filters, biases = model.layers[1].get_weights()
# normalize filter values to 0-1 so we can visualize them
f_min, f_max = filters.min(), filters.max()
filters = (filters - f_min) / (f_max - f_min)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...