keras提供簡單方便的模型可視化工具,只需一行代碼就可以用框圖的形式可視化出你搭建的網絡結構。對于復雜網絡而言,這個工具就是個神器呀。
這篇文章是解決win10環境下的keras模型可視化工具所遇到的問題,Linux暫時還沒有嘗試(不過也可以借鑒)。
大致環境是:
OS: win10 |
---|
python==3.5.4 |
keras==2.2.0 |
pydot==1.2.4 |
pydot_ng==1.0.0 |
首先,你可以查看keras官方文檔教程。
from keras.utils import plot_model plot_model(model, to_file='model.png')
這兩行代碼實現可視化?
其實還是有些問題的,因為你并沒有安裝GraphViz。
教程
pip install graphviz pip install pydot pip install pydot_ng
注意:光用pip安裝以上兩個模塊還是不夠的
還需要安裝GraphViz:
1. http://www.graphviz.org/
在這個網站上下載對應系統的graphviz,如果覺得找得麻煩,可以在CSDN上下載我上傳的。直接解壓就是.msi文件,可以在win10上直接運行安裝。安裝路徑都可以默認。
2. 設置環境變量
首先,按win+e鍵彈出文件窗口
然后,右鍵此電腦 →屬性→高級系統設置→環境變量
就可以呼出這么一個畫面:
然后點擊下面的系統變量列表中的Path,點擊編輯就可以
然后,新建→瀏覽→選出Graphviz2.38/bin的路徑
一直確定保存就可以了。
>>>import os >>>os.environ.get('PATH', '')
就可以查看自己設置的環境變量是不是在列表里面,在的話就說明成功了。
在這個時候,理論上是可以使用keras可視化了??梢杂靡韵麓a驗證一波:
import numpy as np from keras.models import Sequential from keras.layers.core import Dense, Activation from keras.optimizers import SGD from keras.utils import np_utils from keras.utils.vis_utils import plot_model def run(): # 構建神經網絡 model = Sequential() model.add(Dense(4, input_dim=2, init='uniform')) model.add(Activation('relu')) model.add(Dense(2, init='uniform')) model.add(Activation('sigmoid')) sgd = SGD(lr=0.05, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='binary_crossentropy', optimizer=sgd, metrics=['accuracy']) # 神經網絡可視化 plot_model(model, to_file='model.png') if __name__ == '__main__': run()
運行結果如下:
順便跑了以下VAE的網絡結構:
整體上,效果不錯。主要是,使用方便。
以上這篇關于Keras模型可視化教程及關鍵問題的解決就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。