CNN Inference Engine (Pure C++)
A minimal convolutional neural network inference engine implemented from scratch in C++, supporting convolution, pooling, and fully-connected layers, that loads pretrained weights and classifies input images without relying on an ML framework. Learners practice performance-conscious numerical C++, memory layout for tensors, and implementing core deep learning operations manually.
- Estimate
- ~13h
- Steps
- 6
- Completed by
- 0
- Proposed by
- codeseed.app
Standard Library (STL) · manual tensor operations
Project roadmap
- 01
Design the Tensor class
~2hImplement a Tensor class managing multi-dimensional float data in contiguous memory with shape metadata.
- 02
Implement the convolution layer
~3hWrite a forward-pass convolution operation supporting stride and padding over input tensors.
- 03
Implement pooling and activation layers
~2hImplement max-pooling and ReLU/softmax activation operations on tensors.
- 04
Implement the fully-connected layer
~1.5hImplement a dense layer as a matrix-vector multiply plus bias, used for the final classification stage.
- 05
Load pretrained weights from file
~2.5hWrite a loader that reads exported weight files, e.g. from a Python-trained model, into the engine's layer structures.
- 06
Run end-to-end inference and evaluate
~2hWire layers into a full forward pass over sample images and report classification accuracy.
Resources
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack