Save the date! Google I/O returns May 18-20 Register now


Converts a Keras model to dot format and save to a file.

Used in the notebooks

Used in the guide Used in the tutorials


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)

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

A Jupyter notebook Image object if Jupyter is installed. This enables in-line display of the model plots in notebooks.