我正在尝试在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
另一个奇怪的事情
我有一个简单的图像数据集,包括3个类别,总共约2000张图片。在我的jupyter笔记本中,我首先处理并加载图像到内存中。接下来创建模型并打印它。对于简单的数据集,它可以正常工作。但当我使用大型数据集时就出错了。
os.path.exists('/usr/bin/dot')
会发出什么信号? - Charles Duffydot
已经安装在您的 GCP 节点上,而不仅仅是您的本地客户端。 - Charles Duffy