tf.keras.utils.plot_model()を使おうとしてら、pydotとgraphvizをインストールするように言われますが、入れても動きませんでした。その解決方法について。
2023/3/10の情報です。
問題
tf.keras.utils.plot_model(model, show_shapes=True)
としたときに次のエラーが出ます。
ImportError: You must install pydot (`pip install pydot`) and install graphviz (see instructions at https://graphviz.gitlab.io/download/) for plot_model/model_to_dot to work.
pip install pydot graphvizとすると、2つともインストールされるわけですが、それでもエラーが解決しませんでした。
解決方法
pip install graphvizで入る graphvizは認識していないようです。
$ pip install graphviz Collecting graphviz Using cached graphviz-0.20.1-py3-none-any.whl (47 kB)
なんかバージョンが0.20.1とかなり古いもののような?python3向けではあるみたいですが。
そこで、graphvizを、エラーメッセージのリンク先の通りにインストールすると動きました。私の場合はmacですので、
brew install graphviz
としました。winやlinuxでは、(環境にもよりますが)aptを使うことになると思います。
brewで入るgraphvizのバージョンは7.1.0でした。
Installing graphviz ==> Pouring graphviz--7.1.0.ventura.bottle.tar.gz 🍺 /usr/local/Cellar/graphviz/7.1.0: 285 files, 6.5MB
その他
- その後、pip uninstall graphvizとしても動きましたので、pipのgraphvizは不要のようです。
- venvやcondaなどのvirtual環境の場合は、その環境下でインストールしましょう。それでも動かなければ、カーネルの再起動をしてみましょう。
- 「最近のpydotはサポートが終了しているため、代わりにpydotplusをpip install pydotplusとして使う」という話もありましたが、これは関係ありませんでした。
環境
$ python –version
Python 3.9.6
$ python -c ‘import tensorflow as tf; print(tf.__version__)’
2.10.0
結論
tf.keras.utils.plot_model()を使うには、brewやaptで最新のgraphvizをインストールしましょう。
これを読んでいます。
Hands-on Machine Learning With Scikit-learn, Keras, and Tensorflow: Concepts, Tools, and Techniques to Build Intelligent Systems
- Aurélien Géron (著)
- O'Reilly Media
- 価格¥11,918(2024/11/21 15:36時点)
- Amazonで口コミ・レビューを見る