簡體   English   中英

如何將1D numpy數組從keras圖層輸出更改為圖像(3D numpy數組)

[英]How to change 1D numpy array from keras layer output to image (3D numpy array)

我有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()

哪個會給你一些看起來像這樣的東西(在我的情況下只是噪音):

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM