web-dev-qa-db-ja.com

`pydot`はGraphVizの呼び出しに失敗しました。GraphVizをインストールして、その実行可能ファイルが$ PATHにあることを確認してください

jupyterサーバーはgcpディープラーニングvmで実行されています。

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 Notebook Shellで実行した場合。

print(os.environ["PATH"])

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

別の奇妙なこと

私は3つのクラスを含む単純な画像データセットと、全体で約2000個の画像を持っています。私のjupyterノートブックでは、まず画像を処理してメモリに読み込みます。次に、モデルを作成して印刷します。単純なデータセットを使用すると、エラーなしで機能します。これは、大規模なデータセットを操作するときに発生します。

3
Enzio

condagraphvizのバイナリファイルのみをインストールしますが、Python依存関係もインストールする必要があります。そのため、次のように両方をインストールします。

conda install graphviz    

conda install python-graphviz
0
dinesHawk86