Applying Convolutional Neural Network on mnist dataset in python

Applying Convolutional Neural Network on mnist dataset in python

Applying a Convolutional Neural Network (CNN) on the MNIST dataset using Python is a common introductory exercise in deep learning. Below, I'll guide you through building and training a simple CNN on the MNIST dataset using TensorFlow and Keras.

1. Install the Required Libraries:

First, ensure you have TensorFlow installed:

pip install tensorflow 

2. Build and Train the CNN:

import numpy as np import tensorflow as tf from tensorflow.keras import layers, models from tensorflow.keras.datasets import mnist from tensorflow.keras.utils import to_categorical # Load the MNIST dataset (train_images, train_labels), (test_images, test_labels) = mnist.load_data() # Preprocess the data train_images = train_images.reshape((60000, 28, 28, 1)).astype('float32') / 255 test_images = test_images.reshape((10000, 28, 28, 1)).astype('float32') / 255 train_labels = to_categorical(train_labels) test_labels = to_categorical(test_labels) # Build the CNN model model = models.Sequential() model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1))) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(64, (3, 3), activation='relu')) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(64, (3, 3), activation='relu')) model.add(layers.Flatten()) model.add(layers.Dense(64, activation='relu')) model.add(layers.Dense(10, activation='softmax')) # Compile the model model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']) # Train the model model.fit(train_images, train_labels, epochs=5, batch_size=64, validation_split=0.1) # Evaluate the model on the test dataset test_loss, test_acc = model.evaluate(test_images, test_labels) print('\nTest accuracy:', test_acc) 

This code:

  1. Imports the required libraries and tools.
  2. Loads and preprocesses the MNIST dataset.
  3. Builds a simple CNN architecture with two convolution layers, followed by dense layers.
  4. Compiles the model using the Adam optimizer and the categorical cross-entropy loss function.
  5. Trains the model on the training dataset.
  6. Evaluates the model's performance on the test dataset.

After training for a few epochs, you should achieve a test accuracy of around 98% or higher.


More Tags

timeout prcomp ms-project kubernetes-secrets dompdf jstl pygame-tick repository data-url xamarin.ios

More Programming Guides

Other Guides

More Programming Examples