CNN神經網絡貓狗分類經典案例,深度學習過程中間層激活特徵圖可視化

AI:CNN神經網絡貓狗分類經典案例,深度學習過程中間層激活特徵圖可視化

基於前文 https://zhangphil.blog.csdn.net/article/details/103581736 ,這一次把前文神經網絡在深度學習過程中,中間層的每一層激活的特徵圖可視化展現出來(中間層激活可視化),

 

取前8層

# 深度學習過程中每一層的神經網絡激活圖。
def visible():
    model = load_model(model_file_name)

    layer_outputs = [layer.output for layer in model.layers[:8]]
    activation_model = models.Model(inputs=model.input, outputs=layer_outputs)

    img_path = './data/test/cat/cat.4041.jpg'
    img = image.load_img(img_path, target_size=(150, 150))
    img_tensor = image.img_to_array(img)
    img_tensor = img_tensor / 255
    img_tensor = np.expand_dims(img_tensor, axis=0)

    activations = activation_model.predict(img_tensor)
    for k in range(len(activations)):
        first_layer_activation = activations[k]
        print(first_layer_activation.shape)

        col = 8
        plt.figure(figsize=(50, 50))
        for i in range(first_layer_activation.shape[3]):
            # col列。
            plt.subplot((first_layer_activation.shape[3] / col) + 1, col, i + 1)
            plt.imshow(first_layer_activation[0, :, :, i], cmap='viridis')
        #保存圖片。
        plt.savefig(str(k) + ".jpg", dpi=100)
        plt.show()

 

 

第一層(0)的激活圖可視化:

 

第2層(1)的激活圖可視化:

 

最後一層

第8層(7)神經網絡激活圖:

 

可以看到,隨着深度學習往縱深發展,神經網絡學習到的知識越來越抽象。層數加深,人類的直觀越來越難以理解。

發佈了1033 篇原創文章 · 獲贊 999 · 訪問量 340萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章