上篇文章讲到利用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