Project Title: Deep Learning-Based Handwritten Digit Recognition for MNIST Dataset
-
Project Overview and Objective:
- Developed a deep learning model using PyTorch to perform handwritten digit recognition on the MNIST dataset.
- Objective: Achieve high accuracy in classifying handwritten digits (0-9) using a convolutional neural network (CNN) architecture.
-
Key Contributions:
- Utilized PyTorch, an open-source deep learning framework, to build, train, and evaluate the model.
- Demonstrated proficiency in data preprocessing, model architecture design, and evaluation.
-
Project Steps and Accomplishments:
-
Data Preparation:
- Loaded the MNIST dataset using the torchvision library.
- Transformed images into tensors and normalized pixel values.
-
Model Architecture:
- Designed a CNN architecture (Convolutional Neural Network) to extract features from images.
- Utilized convolutional and pooling layers, along with dropout for regularization.
- Implemented fully connected layers for final digit classification.
-
Training:
- Divided the dataset into training and validation sets for model evaluation.
- Trained the model over 20 epochs using the Adam optimizer and cross-entropy loss.
- Monitored loss and accuracy during training to assess model performance.
-
Validation and Overfitting Check:
- Plotted training and validation loss curves to visualize model convergence and overfitting.
- Analyzed accuracy trends to identify possible underfitting or overfitting issues.
-
Evaluation and Reporting:
- Evaluated the trained model on the test dataset for accuracy assessment and achieved 99.1% accuracy.
- Generated a comprehensive classification report using scikit-learn to quantify performance across classes.
-