tf.keras.utils.plot_model繪製模型結構圖裡網路層的第一個維度顯示‘?‘
阿新 • • 發佈:2021-01-02
技術標籤:tensorflowpythontensorflow深度學習
上篇文章講到利用plot_model繪製模型結構圖時只顯示一個Sequentia問題的解決方案,但是一個新的問題是模型結構圖裡所有網路層的第一個維度顯示的都是‘?’,而不是正常的‘None’,具體情況如下:
經過研究解決方法是:將D:\Anaconda3\envs\tf2\Lib\site-packages\tensorflow_core\python\keras\utils資料夾的中的vis_utils.py開啟,找到下面這個函式:
def format_shape(shape): return str(shape).replace(str(None), '?')
將其中的‘?’改成‘None’即可,問題解決!執行後效果如下:
首先注意你的Anacoda安裝的位置,如果你沒有在那個資料夾找到vis_utils.py,下面兩個位置可以看一下
Ubuntu:anaconda3 / envs / yourEnv / lib / python3.7 / site-packages / tensorflow_core / python / keras / utils / vis_utils.py
Windows:Anaconda \ envs \ yourEnv \ Lib \ site-packages \ tensorflow \ python \ keras \ utils \ vis_utils.py