Visualizing Feature maps: IndexError: too many indices for array

Visualizing Feature maps: IndexError: too many indices for array

按照本教程,我正在尝试可视化特征图。

我的模型如下所示:

model.summary()
Model: "model_3"
__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
input_5 (InputLayer)            [(None, 224, 224, 3) 0                                            
__________________________________________________________________________________________________
efficientnet-b0 (Functional)    (None, 7, 7, 1280)   4049564     input_5[0][0]                    
__________________________________________________________________________________________________
flatten_4 (Flatten)             (None, 62720)        0           efficientnet-b0[0][0]            
__________________________________________________________________________________________________
branch_0_Dense_16000 (Dense)    (None, 256)          16056576    flatten_4[0][0]                  
__________________________________________________________________________________________________
branch_1_Dense_16000 (Dense)    (None, 256)          16056576    flatten_4[0][0]                  
__________________________________________________________________________________________________
branch_2_Dense_16000 (Dense)    (None, 256)          16056576    flatten_4[0][0]                  
__________________________________________________________________________________________________
branch_3_Dense_16000 (Dense)    (None, 256)          16056576    flatten_4[0][0]                  
__________________________________________________________________________________________________
branch_4_Dense_16000 (Dense)    (None, 256)          16056576    flatten_4[0][0]                  
__________________________________________________________________________________________________
branch_5_Dense_16000 (Dense)    (None, 256)          16056576    flatten_4[0][0]                  
__________________________________________________________________________________________________
branch_6_Dense_16000 (Dense)    (None, 256)          16056576    flatten_4[0][0]                  
__________________________________________________________________________________________________
branch_0_output (Dense)         (None, 35)           8995        branch_0_Dense_16000[0][0]       
__________________________________________________________________________________________________
branch_1_output (Dense)         (None, 35)           8995        branch_1_Dense_16000[0][0]       
__________________________________________________________________________________________________
branch_2_output (Dense)         (None, 35)           8995        branch_2_Dense_16000[0][0]       
__________________________________________________________________________________________________
branch_3_output (Dense)         (None, 35)           8995        branch_3_Dense_16000[0][0]       
__________________________________________________________________________________________________
branch_4_output (Dense)         (None, 35)           8995        branch_4_Dense_16000[0][0]       
__________________________________________________________________________________________________
branch_5_output (Dense)         (None, 35)           8995        branch_5_Dense_16000[0][0]       
__________________________________________________________________________________________________
branch_6_output (Dense)         (None, 35)           8995        branch_6_Dense_16000[0][0]       
__________________________________________________________________________________________________
concatenate_4 (Concatenate)     (None, 245)          0           branch_0_output[0][0]            
                                                                 branch_1_output[0][0]            
                                                                 branch_2_output[0][0]            
                                                                 branch_3_output[0][0]            
                                                                 branch_4_output[0][0]            
                                                                 branch_5_output[0][0]            
                                                                 branch_6_output[0][0]            
__________________________________________________________________________________________________
reshape_4 (Reshape)             (None, 7, 35)        0           concatenate_4[0][0]              
==================================================================================================
Total params: 116,508,561
Trainable params: 116,466,545
Non-trainable params: 42,016

我现在想可视化索引为 10 的图层:10 branch_0_output (None, 35)

3 branch_0_Dense_16000 (None, 256)
4 branch_1_Dense_16000 (None, 256)
5 branch_2_Dense_16000 (None, 256)
6 branch_3_Dense_16000 (None, 256)
7 branch_4_Dense_16000 (None, 256)
8 branch_5_Dense_16000 (None, 256)
9 branch_6_Dense_16000 (None, 256)
10 branch_0_output (None, 35)
11 branch_1_output (None, 35)
12 branch_2_output (None, 35)
13 branch_3_output (None, 35)
14 branch_4_output (None, 35)
15 branch_5_output (None, 35)
16 branch_6_output (None, 35)

我按照教程中的代码对图像进行了预处理,现在我想绘制该层的 35(?)个特征图: 我使用了教程中的代码并修改了平方数,这里是1但我尝试了几个:

# plot all 35 maps
square = 1
ix = 1
for _ in range(square):
    for _ in range(square):
        # specify subplot and turn of axis
        ax = pyplot.subplot(square, square, ix)
        ax.set_xticks([])
        ax.set_yticks([])
        # plot filter channel in grayscale
        pyplot.imshow(feature_maps[0, :, :, ix-1], cmap='gray')
        ix += 1
# show the figure
pyplot.show()

与我尝试的号码无关,我收到此错误消息:

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-28-4c1f464f6978> in <module>()
      9                 ax.set_yticks([])
     10                 # plot filter channel in grayscale
---> 11                 pyplot.imshow(feature_maps[0, :, ix-1], cmap='gray')
     12                 ix += 1
     13 # show the figure

IndexError: too many indices for array

谁能帮我修改一下?

非常感谢!

错误在第 11 行显示 too many indices for array。发生这种情况是因为您在特征图中错误地传递了索引。在这里,您尝试按照 square = 1.

在 1*1 网格中绘制 35 张地图

假设您需要绘制 64 个地图,那么我们将采用 square = 8,那么输出将是一个 8*8 的网格。