Get Free Shipping on orders over $49
Practical C++ Machine Learning, Second Edition - Anais Sutherland

Practical C++ Machine Learning, Second Edition

By: Anais Sutherland

eBook | 8 October 2026

At a Glance

eBook


$42.99

or 4 interest-free payments of $10.75 with

 or 

Instant Digital Delivery to your Kobo Reader App

If you want to build, train, optimize and deploy neural networks using modern C++20, this second edition is the place to start.

This edition has been rewritten from the ground up for C++20 and uses the open-source Flashlight library and the CIFAR-10 image dataset. With every chapter, you'll get a working project, and you'll put all the techniques you learn into practice by compiling, running and measuring code yourself.

In this edition, there's everything you need to set up a reliable C++20 toolchain, load and augment images with ranges, spans and concepts as well as train multilayer perceptrons, convolutional networks and residual networks using a reusable trainer. With weight decay, dropout and batch normalization, you'll see a real improvement in your generalisation. There's also learning rate schedules and transfer learning to explore and implement. In the later chapters, you get to move into production engineering where we learn to stream batches through coroutine pipelines and version checkpoints. We will also be pruning, quantizing and distilling models, and serving real-time OpenCV inference using std::jthread, stop tokens and semaphores. And in the final chapters, we will get into scalability challenges like training with data-parallel replicas, gradient accumulation and mixed precision.

Key Learnings

Set up a working C++ ML toolchain with Flashlight, ArrayFire and oneDNN.

Load and prepare CIFAR-10 data pipeline using C++20 concepts, ranges and spans.

Train perceptrons, CNNs and ResNets with one reusable, type-checked training loop.

Reduce overfitting with weight decay, dropout, batch normalization and image augmentation.

Build warmup and cosine learning-rate schedules that the compiler checks for mistakes.

Apply transfer learning by freezing or fine-tuning a pretrained backbone on small datasets.

Feed training batches faster with C++20 coroutines, generators and background prefetching.

Save, version and reload model checkpoints using std::filesystem and std::chrono dates.

Shrink models through pruning, eight-bit quantization and knowledge distillation.

Scale training with std::jthread workers, gradient accumulation and mixed-precision arithmetic.

on

More in Machine Learning

AI Model Evaluation - Leemay Nassery

eBOOK

Introduction to Machine Learning Systems - Vijay Janapa Reddi

eBOOK

Astral Space : Convex Analysis at Infinity - Miroslav Dudík

eBOOK