Get Free Shipping on orders over $49
Practical C++ Machine Learning, Second Edition : Learn to train, compress and serve production-grade deep learning models with C++20 and Flashlight - Anais Sutherland

Practical C++ Machine Learning, Second Edition

Learn to train, compress and serve production-grade deep learning models with C++20 and Flashlight

By: Anais Sutherland

eBook | 8 October 2026

At a Glance

eBook


RRP $63.79

$61.99

or 4 interest-free payments of $15.50 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.

Table of Content

Getting Started with C++20 Machine Learning

C++20 Toolkit for ML Engineers

Data Handling and Preprocessing

Building a Simple Neural Network

Training Deep Neural Networks

Convolutional Neural Networks

Improving Model Performance

Advanced Neural Network Architectures

Asynchronous Pipelines with Coroutines

Model Optimization, Deployment and Integration

Parallelism and Performance Scaling

on

More in Artificial Intelligence

Doppelganger - Sam Riviere

eBOOK

$24.99

The AI Advantage - Christopher Sappenfield

eBOOK

RRP $14.29

$12.99

Decision Before Consequences - Danie Adendorff

eBOOK

RRP $41.79

$40.99

The AI-Informed Family - Anthony Hunt

eBOOK

RRP $15.39

$13.99

Crunch Time : Career Pathways in the Age of AI - Illah Nourbakhsh

eBOOK