On this page
tf.keras.utils.plot_model
Converts a Keras model to dot format and save to a file.
tf.keras.utils.plot_model(
    model, to_file='model.png', show_shapes=False, show_dtype=False,
    show_layer_names=True, rankdir='TB', expand_nested=False, dpi=96
)
Example:
input = tf.keras.Input(shape=(100,), dtype='int32', name='input')
x = tf.keras.layers.Embedding(
    output_dim=512, input_dim=10000, input_length=100)(input)
x = tf.keras.layers.LSTM(32)(x)
x = tf.keras.layers.Dense(64, activation='relu')(x)
x = tf.keras.layers.Dense(64, activation='relu')(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])
dot_img_file = '/tmp/model_1.png'
tf.keras.utils.plot_model(model, to_file=dot_img_file, show_shapes=True)
| Arguments | |
|---|---|
| model | A Keras model instance | 
| to_file | File name of the plot image. | 
| show_shapes | whether to display shape information. | 
| show_dtype | whether to display layer dtypes. | 
| show_layer_names | whether to display layer names. | 
| rankdir | rankdirargument passed to PyDot, a string specifying the format of the plot: 'TB' creates a vertical plot; 'LR' creates a horizontal plot. | 
| expand_nested | Whether to expand nested models into clusters. | 
| dpi | Dots per inch. | 
| Returns | |
|---|---|
| A Jupyter notebook Image object if Jupyter is installed. This enables in-line display of the model plots in notebooks. | 
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
 https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/utils/plot_model