一文带你用可视化理解卷积神经网络(23)

让我们看看如何在VGG16模型的不同层获得输出:

#importing required libraries and functions
from keras.models import Model
#defining names of layers from which we will take the output
layer_names = ['block1_conv1''block2_conv1''block3_conv1''block4_conv2'

outputs = [

image = image.reshape((1 image.shape[0
image.shape[1
image.shape[2
))
#extracting the output and appending to outputs
for layer_name in layer_names:
intermediate_layer_model = Model(inputs=model.inputoutputs=model.get_layer(layer_name).output)
intermediate_output = intermediate_layer_model.predict(image)
outputs.append(intermediate_output)
#plotting the outputs
figax = plt.subplots(nrows=4ncols=5figsize=(2020))

for i in range(4):
for z in range(5):
ax[i
[z
.imshow(outputs[i
[0::z
)
ax[i
[z
.set_title(layer_names[i
)
ax[i
[z
.set_xticks([
)
ax[i
[z
.set_yticks([
)

推荐阅读