web-dev-qa-db-fra.com

`pydot` n'a pas pu appeler GraphViz. Veuillez installer GraphViz et assurez-vous que ses exécutables sont dans le $ PATH

Mon serveur jupyter fonctionne dans une vm d'apprentissage en profondeur gcp.

J'essaye d'imprimer le modèle dans une cellule de notebook 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)

J'obtiens cette erreur

`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.

J'ai correctement installé Graphviz sur ma machine avec

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

Les python packages pydot, pydot-ng, pydotplus sont également installés.

Ceci est ma variable de chemin

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

/user/bin est inclus ici.

[~ # ~] modifier [~ # ~]

Lorsqu'il est exécuté dans un shell jupyter notebook.

print(os.environ["PATH"])

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

Une autre chose étrange

J'ai un jeu de données d'image simple avec 3 classes et au total environ 2000 images. Dans mon notebook jupyter, je traite et charge d'abord les images en mémoire. La création du modèle et son impression viennent ensuite. Avec le jeu de données simple, cela fonctionne sans erreur. Cela se produit lorsque je travaille avec de grands ensembles de données.

3
Enzio

conda installe uniquement les fichiers binaires de graphviz, mais vous devez également installer les dépendances Python). Donc, installez les deux avec:

conda install graphviz    

conda install python-graphviz
0
dinesHawk86