`pydot` 无法调用 GraphViz,请安装 GraphViz 并确保其可执行文件在 $PATH 环境变量中。

6

我的Jupyter服务器正在运行于GCP深度学习虚拟机上。

我正在尝试在Jupyter笔记本单元格中打印模型。

import os, sys
from utils.models.alexnet import alexnet
from keras.utils.vis_utils import plot_model
from keras.optimizers import SGD

model = alexnet(len(class_names))
model.summary()
plot_model(model, to_file="alexnet_model.png", show_shapes=True)

我遇到了这个错误。
`pydot` failed to call GraphViz.Please install GraphViz ([https://www.graphviz.org/](https://www.graphviz.org/)) and ensure that its executables are in the $PATH.

我已经正确地在我的机器上安装了Graphviz,使用以下代码安装:

apt-get install graphviz

stat /usr/bin/dot
  File: /usr/bin/dot
  Size: 10568       Blocks: 24         IO Block: 4096   regular file
Device: 801h/2049d  Inode: 142872      Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-02-10 11:48:19.416617639 +0000
Modify: 2017-02-19 10:32:17.000000000 +0000
Change: 2019-12-13 01:47:41.084977709 +0000

已安装python包pydot、pydot-ng和pydotplus。

这是我的路径变量

echo $PATH
/usr/local/cuda/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

这里包含了/user/bin

编辑

在jupyter笔记本 shell中执行。

print(os.environ["PATH"])

/usr/local/cuda/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

这是一个路径,指向安装CUDA和其他二进制文件的目录。

另一个奇怪的事情

我有一个简单的图像数据集,包括3个类别,总共约2000张图片。在我的jupyter笔记本中,我首先处理并加载图像到内存中。接下来创建模型并打印它。对于简单的数据集,它可以正常工作。但当我使用大型数据集时就出错了。


1
你在本地安装了dot工具,但是它不应该在云服务器上吗?你确定jupyter中使用的路径在其路径中有“/usr/bin”(检查你想要使用它的位置)吗? - albert
在Jupyter Notebook中执行os.path.exists('/usr/bin/dot')会发出什么信号? - Charles Duffy
@CharlesDuffy 它返回True。 - Enzio
谢谢 - 这证实了 dot 已经安装在您的 GCP 节点上,而不仅仅是您的本地客户端。 - Charles Duffy
4个回答

8

我也遇到了同样的问题,所以我先安装了conda install pydot,再安装conda install python-graphviz。


2
我有同样的问题,我通过跟随Prerna Verma的答案解决了它。顺便说一下,在Linux环境中使用graphviz有三个步骤:
  1. sudo apt-get install graphviz(如果您是Windows用户,请下载和安装graphviz

  2. conda install pydot

  3. conda install python-graphviz

然后,您就可以使用它了!

使用 $ dot -V 命令检查 Graphviz 是否安装成功。 - chenn

1

conda 只安装 graphviz 的二进制文件,但是您还需要安装 Python 依赖项。因此,请使用以下命令同时安装它们:

conda install graphviz    

conda install python-graphviz

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接