天天看點

可視化Keras深度學習神經網絡模型

為了使開發者更好的了解其開發的神經網絡模型,Keras Python深度學習庫提供了可視化神經網絡模型的工具。這對于産品示範和講解是非常有用的

在本文,你會學到如何在Keras中總結和可視化深度學習模型。

可視化Keras深度學習神經網絡模型

讀完本文後,你将知道:

如何建立你的深度學習模型的文本摘要。

如何建構你的深度學習模型的圖形。

在Keras開發深度學習模型的最佳實踐技巧。

<b>教程概述:</b><b></b>

本教程分為4個部分:

1.示例模型。

2.總結模型。

3.可視化模型。

4.最佳實踐經驗。

<b>示例模型:</b><b></b>

我們可以通過在Keras中定義一個簡單的多層Perceptron的模型來開始,我們可以使用它作為切入點,進而進入可視化的主題。

我們将要定義的模型有一個輸入變量,一個帶有兩個神經元的隐藏層,一個帶有一個二進制輸出的輸出層。

1

[1 input] -&gt; [2 neurons] -&gt; [1 output]

下面提供了該網絡的代碼清單:

<b>總結模型:</b><b></b>

Keras提供了一個總結模型的方法。

摘要是文本性的,包括以下資訊:

1.模型中的圖層和順序。

2.每層的輸出形狀。

3.每層中的參數(權重)的數量。

4.模型中參數(權重)的總數。

網絡模型的摘要生成可以通過調用模型上的summary()函數來建立,該函數傳回一個可以列印的字元串。

以下是更新後的示例,列印建立的網絡模型的摘要。

運作此示例可以列印下表:

我們可以清楚地看到每個圖層的輸出形狀和權重數量。

<b>可視化模型:</b><b></b>

網絡模型的摘要對于簡單的模型是有用的,但對于具有多個輸入或輸出的模型可能會造成混淆。

Keras還提供了一個函數來建立神經網絡模型的圖,可以使更複雜的模型更容易了解。

在Keras中plot_model()的功能是建立網絡模型圖的函數。使用這個函數你需要了解一些有用的參數:

1.model:(必填)你希望繪制的模型。

2.to_file:(必需)要将繪圖儲存到的檔案的名稱。

3.show_shapes :(可選,預設為False)是否顯示每個圖層的輸出形狀。

4.show_layer_names :(可選,預設為True)是否顯示每個圖層的名稱。

下面是繪制建立模型的更新示例。

運作示例用建立的模型的圖形建立檔案model_plot.png:

可視化Keras深度學習神經網絡模型

<b>實踐經驗:</b><b></b>

我通常建議在Keras中建立一個神經網絡模型的總結和圖形。

我推薦這個有幾個原因:

1.确認圖層順序。将順序API錯誤地添加圖層與功能性API錯誤地連接配接在一起這是很容易犯的錯誤。圖形可以幫助你确認模型是否按照你的預期方式連接配接。

2.确認每個圖層的輸出形狀。定義複雜網絡(如卷積和遞歸神經網絡)的輸入資料的形狀是很常見的。模型摘要和圖形可以幫助你确認網絡的輸入形狀是否符合你的要求。

3.确認參數。一些網絡配置可以使用很少的參數,例如在編碼器 -

解碼器遞歸神經網絡中使用TimeDistributed纏繞的密集層。檢視摘要可以幫助發現使用比預期更多的參數的情況。

<b>進一步閱讀:</b><b></b>

如果你想深入了解,你可以檢視以下的連結。

<b>作者資訊</b>

<b></b>

可視化Keras深度學習神經網絡模型

Dr. Jason Brownlee 是一名機器學習從業者,學術研究人員,緻力于幫助開發人員從入門到精通機器學習。

文章原标題《How to Visualize a Deep Learning Neural Network Model in Keras》

作者:Dr.Jason Brownlee譯者:虎說八道