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