This tutorial will guide you through the process of building a basic neural network to classify handwritten digits using the MNIST dataset. The MNIST dataset is a large database of handwritten digits commonly used for training various image processing systems.
Overview
- MNIST Dataset: A dataset containing 60,000 training images and 10,000 testing images of handwritten digits.
- Neural Network: A series of algorithms that can recognize underlying relationships in a set of data through a process that mimics the way the human brain operates.
- TensorFlow: An open-source machine learning framework developed by Google Brain.
Getting Started
Before you begin, make sure you have the following prerequisites installed:
- Python
- TensorFlow
- NumPy
You can install TensorFlow using pip:
pip install tensorflow
Building the Neural Network
Here's a simple example of a neural network for the MNIST dataset:
import tensorflow as tf
from tensorflow.keras import layers
model = tf.keras.Sequential([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
layers.Dropout(0.2),
layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# Train the model
model.fit(train_images, train_labels, epochs=5)
# Evaluate the model
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print('\nTest accuracy:', test_acc)
Further Reading
For more detailed information and advanced tutorials, please visit the TensorFlow website.
Image
Here's an example of a handwritten digit from the MNIST dataset: