我见过类似的问题,但也没有解决,所以我决定问。
我正在尝试使用
在keras中可视化我的模型from keras.utils import plot_model
plot_model(model, to_file='model.png')
首先,它显示错误
ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
因此,我通过Anaconda安装了pydot和graphviz,并使用
激活我的环境conda install -c https://conda.binstar.org/t/TOKEN/j14r pydot
conda install -c https://conda.binstar.org/t/TOKEN/j14r graphviz
然后,我关闭spyder并重新打开它。当我运行代码片段时,它仍然显示相同的错误。 我错过了什么?
答案 0 :(得分:7)
似乎您正在使用Windows。在这种情况下,请参见this SO Q&A stream 和/或this Keras issue on gitub。
以下两个来源均提示,似乎存在安装错误和/或路径错误。我在所有相关软件包上使用了pip uninstall
,然后:
pip install pydot
pip install pydotplus
pip install graphviz
然后:
我正在Windows myscript.py
窗口中运行python脚本cmd
。我必须关闭并重新打开它才能刷新PATH,但随后plot_model()
的输出结果就很好了。
答案 1 :(得分:3)
从以下位置找到解决方案:https://github.com/XifengGuo/CapsNet-Keras/issues/69#issuecomment-483273641
我遵循了卸载和重新安装pydot + pydotplus的建议,并且使用Anaconda 3成功解决了Windows 10计算机上的问题。
conda uninstall pydot
conda uninstall pydotplus
conda uninstall graphviz
然后
conda install pydot
conda install pydotplus
注意:安装pydot还会安装graphviz
答案 2 :(得分:2)
使用next命令安装它们:
sudo apt install python-pydot python-pydot-ng graphviz
答案 3 :(得分:1)
以下命令为我解决了问题
答案 4 :(得分:1)
这对我有用
import keras.utils.vis_utils
from importlib import reload
reload(keras.utils.vis_utils)
from keras.utils.vis_utils import plot_model
plot_model(model, to_file='model_plot.png', show_shapes=True, show_layer_names=True)
答案 5 :(得分:0)
即使安装了pydot
,pydotplus
和graphviz
之后,我仍然遇到dot cannot be found in environment PATH
的错误
所以我从https://graphviz.gitlab.io/download/安装了graphviz-2.38.msi
但是,问题仍然存在,直到我从**keras.utils.plot_model**
切换到**tf.keras.utils.plot_model**
答案 6 :(得分:0)
我通过安装解决了这个问题:
conda install graphviz
conda install pydot
conda install pydotplus
PS:我用以下命令调用了 plot_model:
from tensorflow.keras.utils import plot_model
现在可以使用了。
答案 7 :(得分:0)
在 win10 anaconda3 上 以管理员身份运行启动命令提示符 然后
conda install graphviz
这为您提供了 graphviz2.38 的工作原理。
这击败了从 https://graphviz.gitlab.io/download/#windows 下载安装程序的方式,后者在我的机器上不起作用。
然后你可以 pip install pydot 以确保你拥有它。
然后重新启动内核,它应该没问题。
如果不,
pip install graphviz,因为它似乎是一个必要的python包装器。
我还在上面的 pip intsall pydot-ng pydotplus
命令之前尝试了 conda install
。他们当时没有帮助。
答案 8 :(得分:0)
它在Spuder IDE中有效。主要思想是减少导入的库的数量。
from keras.utils.vis_utils import pydot
from keras.utils.vis_utils import plot_model
plot_model(model, to_file='model.png', show_shapes=True, show_layer_names=True)
答案 9 :(得分:0)
在Windows 10 无 Anaconda上使用TensorFlow 2.3.0,以下(最终)对我有用:
C:\Program Files (x86)\Graphviz\bin
添加到系统和用户的PATH
环境变量中from tensorflow.keras.utils import plot_model
# model = Model(...)
plot_model(model, to_file='model.png', show_shapes=True, show_layer_names=True)
答案 10 :(得分:0)
对于jupyter笔记本,请在安装要求后重新启动笔记本。它对我有用。
答案 11 :(得分:0)
尝试一下。
import keras
import pydot
import pydotplus
from pydotplus import graphviz
from keras.utils.vis_utils import plot_model
from keras.utils.vis_utils import model_to_dot
keras.utils.vis_utils.pydot = pydot
这对我有用。签出-> https://github.com/XifengGuo/CapsNet-Keras/issues/69
答案 12 :(得分:0)
这对我有用:
在我的虚拟环境中安装(Python 3):
pip3 install pydot_ng
在计算机级别安装(如果仅在环境中安装则不起作用)
sudo apt-get install graphviz
要导入它:
import pydot_ng as pydot
答案 13 :(得分:0)
这些命令对我有用。我做到了:
conda install -c https://conda.binstar.org/t/TOKEN/j14r pydot
conda install -c https://conda.binstar.org/t/TOKEN/j14r graphviz
sudo apt install python-pydot python-pydot-ng graphviz
答案 14 :(得分:0)
重启内核为我解决了这个问题,不需要pydot-ng。
答案 15 :(得分:0)
对我来说,我要做的就是安装graphviz和pydot:
在Python3上:
pip3 install pydot-ng
pip3 install graphviz
在Python2上:
pip3 install pydot-ng
pip3 install graphviz
这为我解决了错误。
答案 16 :(得分:-3)
import tensorflow as tf
tf.keras.utils.plot_model(
model,
to_file='model.png',
show_shapes=False,
show_layer_names=True,
rankdir='TB',
expand_nested=False,
dpi=96
)