MachineLearning/cnn library

🖼️ Convolutional Neural Network (CNN)

A compact, clear CNN primitive focused on small-image conv-nets. Provides a documented API for configurable convolutional layers, pooling, and a final classifier head. Prioritizes clarity and extensibility rather than GPU performance. Good for unit-testing, education, and small engineering prototypes.

Contract:

  • Input: image batch X (n x h x w x c) represented as nested lists.
  • Output: logits or probabilities from the classifier head.
  • Errors: throws ArgumentError for invalid shapes.

Note: This implementation is a pure-Dart CPU implementation intended as a well-documented reference-grade algorithm; optimized libraries should be used for production training at scale.

Classes

CNN
Compact CNN wrapper (ANN-backed)