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ノートブックでは、まず画像を処理してメモリに読み込みます。次に、モデルを作成して印刷します。単純なデータセットを使用すると、エラーなしで機能します。これは、大規模なデータセットを操作するときに発生します。
conda
はgraphviz
のバイナリファイルのみをインストールしますが、Python依存関係もインストールする必要があります。そのため、次のように両方をインストールします。
conda install graphviz
conda install python-graphviz