Image Classification

Classifying images from the CIFAR10 dataset using a Convolutional Neural Network.

CNN Accuracy over Epochs
Accuracy of the CNN over 100 epochs while being trained on dataset.

The Dataset

The CIFAR10 dataset contains 60,000 32x32 colour images across 10 classes, including animals, vehicles, and objects. The dataset is publicly available and automatically downloaded when the notebook is run. Each image is labelled, providing a clear answer for me as the tester.
The CIFAR10 dataset is widely used for benchmarking image classification models. It's ideal for teaching CNNs because its small enough to run on a personal machine but still diverse enough to challenge models.

CIFAR10 Test Prediction Example
Example of a test image: correctly identified as a frog with a confidence tick.

Building the CNN

I constructed a Convolutional Neural Network with convolutional, pooling, and dense layers. The network was trained on the CIFAR10 set and evaluated on a test set.
Using Julia and Flux.jl, I implemented forward passes, loss computation, and backpropagation to optimise performance.

CIFAR10 Accuracy Table
Summary table showing the models accuracy across all CIFAR10 classes.

Results and Visualisation

The results demonstrate that the network successfully distinguishes between the 10 classes, some rates better than others.
For me, this project highlights how a CNN can transform raw pixel data into meaningful classifications.