import pydot
import graphviz
from keras.utils import plot_model
plot_model(model, to_file='model.png')
('Failed to import pydot. You must `pip install pydot` and install graphviz (https://graphviz.gitlab.io/download/), ', 'for `pydotprint` to work.')conda install -c https://conda.binstar.org/t/TOKEN/j14r
pydot
conda install -c https://conda.binstar.org/t/TOKEN/j14r graphviz
I used pip uninstall
on all related packages, then:
pip install pydot
pip install pydotplus
pip install graphviz
pip install pydot-ng
Then:
- Download and install graphviz binaries from here
- Add path to graphviz bin folder in system PATH
Using TensorFlow 2.3.0 on Windows 10 without Anaconda, the following (finally) worked for me:
- Install Graphviz 32 bit (64 bit didn't work)
- Add Graphviz path
C:\Program Files (x86)\Graphviz\bin
to system's and user'sPATH
environment variables - Install pydot-ng which is the preferred pydot library used by TensorFlow 2.3.0
import keras import pydot import pydotplus from pydotplus import graphviz from keras.utils.vis_utils import plot_model from keras.utils.vis_utils import model_to_dot keras.utils.vis_utils.pydot = pydot
REF
https://stackoverflow.com/questions/47605558/importerror-failed-to-import-pydot-you-must-install-pydot-and-graphviz-for-py
import tensorflow as tf input = tf.keras.Input(shape=(100,), dtype='int32', name='input') x = tf.keras.layers.Embedding(output_dim=512, input_dim=1000, input_length=100)(input) x = tf.keras.layers.LSTM(32)(x) x = tf.keras.layers.Dense(64, activation='relu')(x) output = tf.keras.layers.Dense(1, activation='sigmoid', name='output')(x) model = tf.keras.Model(inputs=[input], outputs=[output])
REF
https://www.gcptutorials.com/article/how-to-plot-model-architecture-with-tf.keras.utils