C++advancedaiAI generated

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

  1. 01

    Design the Tensor class

    ~2h

    Implement a Tensor class managing multi-dimensional float data in contiguous memory with shape metadata.

  2. 02

    Implement the convolution layer

    ~3h

    Write a forward-pass convolution operation supporting stride and padding over input tensors.

  3. 03

    Implement pooling and activation layers

    ~2h

    Implement max-pooling and ReLU/softmax activation operations on tensors.

  4. 04

    Implement the fully-connected layer

    ~1.5h

    Implement a dense layer as a matrix-vector multiply plus bias, used for the final classification stage.

  5. 05

    Load pretrained weights from file

    ~2.5h

    Write a loader that reads exported weight files, e.g. from a Python-trained model, into the engine's layer structures.

  6. 06

    Run end-to-end inference and evaluate

    ~2h

    Wire layers into a full forward pass over sample images and report classification accuracy.

Ready to build this?

Get a GitHub repo and start building. Your AI reviewer checks each step as you go.

~13h · 6 steps

Tech stack

Standard Library (STL)manual tensor operations