填win10下keras可视化工具的坑

Source
版权声明:虽然不一定huifasheng,但还是需要经过博主同意,方可转载 https://blog.csdn.net/qq_35826213/article/details/85888440

一、 使用keras自带网络可视化工具

keras可直接生成网络结构的打印图。具体方法为:

from keras.utils.vis_utils import plot_model
plot_model(your_net, to_file='model.png')

其中plot_model的两个参数为:第一个参数为你自己的网络结构模型;第二个参数为保存网络结构图片的路径,代码示例中为相对路径。

1.1 问题一

此处,如果直接使用上述代码会出现。如下错误

  'Failed to import `pydot`. '
ImportError: Failed to import `pydot`. Please install `pydot`. For example with `pip install pydot`.

解决此问题,只需要安装pydot、Graphviz、,。对于python3,安装pydot的方式为:

pip install pydot
pip install pydot_ng

如果此处,pip安装时现在太慢,可进行pip换源。在命令行下,执行此命令便可:

pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装Graphviz,需要首先下载Graphviz的window的安装程序,下载网址为:Graphviz。安装过程,就像正常的windows下程序安装相同。此处,将Graphviz最好安装在C盘之外的磁盘中,并记好其安装路径。随后在安装,GraphViz的python依赖项,方法同样为

pip install GraphViz

然后需要将GraphViz的bin库,添加到系统路径,即path中,path中添加 “你的GraphViz的安装路径”+bin

问题二(这才是大坑)

当安装完毕上述的依赖项后,还会遇到如下的错误:

 '`pydot` failed to call GraphViz.'
    OSError: `pydot` failed to call GraphViz.Please install GraphViz (https://www.graphviz.org/) and ensure that its executables are in the $PATH.

网上的解决方法不一,此处本博客经过实践过后,得出基于python3,keras2.2.4,win10下研究出了解决方法。
当出现上述问题时,会出现错误提示,找到错误提示中的pydot.py在此.py文件的1712行,有如下一行代码:

self.prog = 'dot'

将其改成如下代码:

self.prog = 'dot.exe'

此时,坑算是填平了。利用如下代码测试,是否填坑成功:

import pydot
pydot.Dot.create(pydot.Dot())

如果不报错,开头的代码就可以使用了。

二、keras使用tensorboard

首先,安装tensorboard,方法不在赘述。keras下使用tensorboard的方法,要结合callback的方式

from keras.callbacks import TensorBoard
callback = [TensorBoard(log_dir='./model')]

在keras中加入callback即可。log_dir此参数只带的是tensorboard文件保存的路径。找到这个路径,如果成功后,此路径下应该生成:


在这里插入图片描述

在此路径下,调用cmd命令行,如果不指定端口和ip地址,直接输入:

tensorboard  --logdir="你的文件保存路径"

把命令行模式下,得到的ip地址直接输入到浏览器中,便可使用tensorboard。

如果想指定ip地址与端口号,使用如下代码便可:

tensorboard --host=10.10.101.2 --port=6099 --logdir="my_graph"

但是本地运行的情况下,只需要设置端口号便可,推荐方法为;

tensorboard --host=localhost --port=6099 --logdir=E:\python_code\log\simulation