← All projects Machine learning

Image Classification with a CNN

Deep learning project

Three rounds of image classification, each one making the problem harder, to see where a convolutional network pulls ahead and where it starts to struggle.

PythonTensorFlowNumPyMatplotlib

Built with Python, NumPy, TensorFlow, and Matplotlib, in three parts that get progressively harder.

Part one: four classes, and a fair fight

Loaded a local set of 20,000 images across four classes and trained two networks on it, a fully connected one and a convolutional one, then compared their accuracy directly. Same data, same problem, so the gap between them comes down to the architecture and nothing else.

Part two: ten classes

Loaded CIFAR 10 from TensorFlow, 60,000 images across ten classes, trained a convolutional network, and plotted accuracy over epochs. Comparing predicted against actual output visually is what tells you whether the model is genuinely learning or just memorising the training set.

Part three: a hundred classes

The same 60,000 images, now split across a hundred classes in CIFAR 100. Far fewer examples per class, and the accuracy curves show exactly how much that costs you.

The code

← Inverse Kinematics Dream Destinations →