0
0
TensorFlowml~5 mins

Sequential model API in TensorFlow

Choose your learning style9 modes available
Introduction

The Sequential model API helps you build a simple stack of layers for machine learning models easily. It lets you create models step-by-step, like stacking blocks.

When you want to build a straightforward neural network with layers in order.
When you are learning how to create models and want a simple way to add layers.
When your model has one input and one output without complex connections.
When you want to quickly test ideas with a simple model structure.
When you need to build common models like basic classifiers or regressors.
Syntax
TensorFlow
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

model = Sequential([
    Dense(units=64, activation='relu', input_shape=(input_size,)),
    Dense(units=10, activation='softmax')
])

The layers are added in the order you list them inside the Sequential constructor.

The first layer needs to know the shape of the input data using input_shape.

Examples
Adding layers one by one using add() method instead of passing a list.
TensorFlow
model = Sequential()
model.add(Dense(32, activation='relu', input_shape=(100,)))
model.add(Dense(1, activation='sigmoid'))
Creating a model with three layers in one step using a list.
TensorFlow
model = Sequential([
    Dense(128, activation='relu', input_shape=(50,)),
    Dense(64, activation='relu'),
    Dense(10, activation='softmax')
])
Sample Model

This example builds a simple Sequential model with two layers to classify data into 3 classes. It trains on 5 samples and then predicts probabilities for 2 new samples.

TensorFlow
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# Create a simple model for classifying 3 classes
model = Sequential([
    Dense(16, activation='relu', input_shape=(4,)),
    Dense(3, activation='softmax')
])

# Compile the model with loss and optimizer
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

# Sample data: 5 samples, 4 features each
import numpy as np
x_train = np.array([[5.1, 3.5, 1.4, 0.2],
                    [6.2, 3.4, 5.4, 2.3],
                    [5.9, 3.0, 4.2, 1.5],
                    [6.0, 2.2, 4.0, 1.0],
                    [5.5, 2.3, 4.0, 1.3]])

# Labels for 3 classes
y_train = np.array([0, 2, 1, 1, 1])

# Train the model for 5 epochs
history = model.fit(x_train, y_train, epochs=5, verbose=0)

# Predict class probabilities for new data
x_test = np.array([[5.0, 3.6, 1.4, 0.2],
                   [6.7, 3.1, 4.7, 1.5]])
predictions = model.predict(x_test)

print('Predictions:')
print(predictions)
print('Training accuracy after 5 epochs:', history.history['accuracy'][-1])
OutputSuccess
Important Notes

Sequential models are best for simple, linear stacks of layers.

For models with multiple inputs or outputs, use the Functional API instead.

Always specify input_shape in the first layer to tell the model what data to expect.

Summary

The Sequential API lets you build models by stacking layers in order.

It is easy to use and great for beginners and simple problems.

Remember to compile the model before training to set loss and optimizer.