When should a sequential model be used with Tensorflow in Python? Give an example

A sequential model in TensorFlow is used when you have a simple stack of layers where each layer has exactly one input and one output tensor. It's the most straightforward way to build neural networks for linear data flow.

When to Use Sequential Models

Sequential models are appropriate when:

  • Each layer has exactly one input and one output tensor
  • Layers are arranged in a linear sequence
  • You have a simple feedforward architecture

Sequential models are not appropriate when:

  • Your model has multiple inputs or multiple outputs
  • Layers need to be shared between different parts
  • You need non-linear topology (like residual connections)
  • You require complex architectures with branches

About TensorFlow and Keras

TensorFlow is Google's open-source machine learning framework that works with Python to implement algorithms and deep learning applications. It uses NumPy and multi-dimensional arrays called tensors for efficient mathematical operations.

Keras is a high-level deep learning API built on top of TensorFlow. It provides a productive interface for quick experimentation and is highly scalable across different platforms.

Keras is included in TensorFlow and can be imported as follows:

import tensorflow as tf
from tensorflow import keras

Sequential Model Example

Here's how to create a sequential model with three dense layers:

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers

print("A sequential model is being defined, that has three layers")

model = keras.Sequential([
    layers.Dense(2, activation="relu", name="layer_1"),
    layers.Dense(3, activation="relu", name="layer_2"),
    layers.Dense(4, name="layer_3"),
])

print("The model is being called on test data")
x = tf.ones((2, 2))
y = model(x)

print("The layers are:")
print(model.layers)
A sequential model is being defined, that has three layers
The model is being called on test data
The layers are:
[<keras.layers.core.dense.Dense object at 0x7f8b1c2a5d30>, <keras.layers.core.dense.Dense object at 0x7f8b1c2a5e50>, <keras.layers.core.dense.Dense object at 0x7f8b1c2a5f70>]

Alternative Sequential Model Creation

You can also create a sequential model by adding layers one by one:

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers

# Create empty sequential model
model = keras.Sequential()

# Add layers one by one
model.add(layers.Dense(2, activation="relu", name="layer_1"))
model.add(layers.Dense(3, activation="relu", name="layer_2"))
model.add(layers.Dense(4, name="layer_3"))

print("Model created successfully")
print(f"Number of layers: {len(model.layers)}")
Model created successfully
Number of layers: 3

Conclusion

Use sequential models for simple, linear neural network architectures where data flows sequentially through layers. For complex architectures with multiple inputs/outputs or shared layers, consider using the Functional API or Model subclassing instead.

Updated on: 2026-03-25T15:43:37+05:30

353 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements