大家好

最近想到

在 python 的 keras 要如何顯示深度學習模型?

讓這模型架構更直觀易懂呢?

 

就是要用 graphviz

https://graphviz.org/

安裝graphviz之後

依照以下程式範例就可以產生keras模型架構圖

 

# 需要有安裝 tensorflow
import os
import tensorflow as tf
from tensorflow.keras.utils import plot_model

# 新增一個輸入層
inputs  = tf.keras.Input(shape=(3,))
# 新增一個dense層並且把dense層 放到 輸入層 後面
x       = tf.keras.layers.Dense(4, activation=tf.nn.relu)(inputs)
# 再新增一個dense層並且把dense層 放到 前面的dense層 後面
# 最後輸出為 outputs 資料
outputs = tf.keras.layers.Dense(5, activation=tf.nn.softmax)(x)
# 把模型的頭跟尾的層放到Model參數中,打包成一個完整模型
model   = tf.keras.Model(inputs=inputs, outputs=outputs)


os.environ["PATH"] += os.pathsep + 'C:\graphviz-2.44.1-win32/Graphviz/bin/'  # 安装graphviz的路径


# 產生模型圖片
plot_model(
    model, # 模型物件
    to_file='model_.png', # 要存放的圖片
    show_shapes=True, # 顯示input output 維度
    show_layer_names=True # 顯示層名稱
    )

圖片類似以這樣

 

從輸入層到輸出層的維度

都非常清楚

這也是深度學習中模型很重要的參數

可惜的是這種方式無法用在pytorch

給大家參考囉