Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将1D numpy阵列从keras层输出更改为图像(3D numpy阵列)_Python_Numpy_Neural Network_Keras_Conv Neural Network - Fatal编程技术网

Python 如何将1D numpy阵列从keras层输出更改为图像(3D numpy阵列)

Python 如何将1D numpy阵列从keras层输出更改为图像(3D numpy阵列),python,numpy,neural-network,keras,conv-neural-network,Python,Numpy,Neural Network,Keras,Conv Neural Network,我有keras图层的输出或特征贴图,但如何将其转换为可以显示的图像(3D numpy阵列) model = VGG16(weights='imagenet', include_top=True) layer_outputs = [layer.output for layer in model.layers[1:]] print layer_outputs viz_model = Model(input=model.input, output=layer_out

我有keras图层的输出或特征贴图,但如何将其转换为可以显示的图像(3D numpy阵列)

model = VGG16(weights='imagenet', include_top=True)
layer_outputs = [layer.output for layer in model.layers[1:]]
print layer_outputs
viz_model = Model(input=model.input,
                  output=layer_outputs)
features = viz_model.predict(x)

output = features[0] #has shape (1,224,224,64)

如有任何意见或建议,我们将不胜感激。谢谢。

您可以在迭代每个功能图时将每个功能图添加为子图:

import numpy as np
import matplotlib.pyplot as plt
from pylab import cm

m = np.random.rand(1,224,224,64)

fig = plt.figure()
fig.suptitle("Feature Maps")

for j in range(m.shape[3]):
    ax = fig.add_subplot(8, 8, j+1)
    ax.matshow(m[0,:,:,j], cmap=cm.gray)
    plt.xticks(np.array([]))
    plt.yticks(np.array([]))

plt.show()
这会给你一些类似的东西(在我的例子中只是噪音):


这是完美的解决方案!非常感谢你:)