Deep Learning for Programmers

Interactive Programming for Artificial Intelligence series; Deep Learning for Programmers: An Interactive Tutorial with CUDA, OpenCL, MKL-DNN, Java, and Clojure

aren’t these surfers adorable? the book is too!

subscribe or BUY now

or scroll down to read the pitch, download sample chapters,

subscribe (or buy) later and read the whole book :)

Open Source Libraries



this is the only DL book for programmers

interactive & dynamic

step-by-step implementation

incredible performance, yet no C++ hell (!)

Intel & AMD CPUs (DNNL)

Nvidia GPUs (CUDA and cuDNN)

AMD GPUs (yes, OpenCL too!)

Clojure (it’s magic!)

Java Virtual Machine (without Java boilerplate!)

complete source code

beautiful typesetting (see the sample chapters below)

No Middleman

no middleman!

100% of the revenue goes towards my open-source work!

For Programmers

the only AI book that walks the walk

complete, 100% executable code

step-by-step instructions

full path from theory to implementation in actual code

superfast implementation

Other books are math-only monographs for academics, or are written for non-technical readers.

Deep Learning

learn DL by implementing it from scratch

classic neural networks using fast linear algebra

build an optimized backpropagation algorithm step-by-step

explore it on the CPU

run it on the GPU!

design an elegant neural network API

add tensor support

integrate with Intel’s DNNL and Nvidia’s cuDNN performance libraries

learn the nuts and bolts

build convolutional layers

build RNN support

understand how to use it to solve practical problems

…and much more!


immediate dynamic feedback

see the result of executing each line

experiment in a live environment

no C++ build hell

no C++ syntax hell!

Java Virtual Machine, but without Java boilerplate

Clojure, the nicest language on earth :-)

no C++ at all!!!



yet, high-level (you don’t touch C++)


learn Intel DNNL


learn CUDA & cuDNN

learn OpenCL

all hardware: Nvidia, AMD, Intel

you don’t touch C++!!!


download sample chapters (the earliest DRAFTS)

Representing Layers and Connections

Bias and Activation Function

GPU Computing with CUDA and OpenCL

many free articles at

buy now and get the latest version of the book and the the source code.

or subscribe now and get the drafts and updates of the next edition of the book.


buy now and read the full book.

get the current edition as PDF + code.

subscribe for early access to the updates and drafts of the next edition.

get new chapters and updates of the 2nd edition as soon as they are ready

all revenue goes towards funding my work on the open source libraries used in the book

subscription perks

your name in the book’s acknowledgments

get the book and help make it awesome!


Table of Contents

Part 1: Getting Started

2-4 chapters, (TO BE DETERMINED, once other parts are complete)

Part 2: Inference (AVAILABLE)

Representing layers and connections (AVAILABLE)

Bias and activation function (AVAILABLE)

Fully connected inference layers (AVAILABLE)

Increasing performance with batch processing (AVAILABLE)

Sharing memory (AVAILABLE)

GPU computing with CUDA and OpenCL (AVAILABLE)

Part 3: Learning (AVAILABLE)

Gradient descent and backpropagation (AVAILABLE)

The forward pass (AVAILABLE)

The activation and its derivative (AVAILABLE)

The backward pass (AVAILABLE)

Part 4: A simple neural networks API (AVAILABLE)



Initializing weights (AVAILABLE)

Regression: learning a known function (AVAILABLE)

Part 5: Training optimizations (AVAILABLE)

Weight decay (AVAILABLE)

Momentum and Nesterov momentum (AVAILABLE)

Adaptive learning rates (AVAILABLE)

Regression: Boston housing prices (AVAILABLE)


Stochastic gradient descent (AVAILABLE)

Classification: IMDB sentiments (AVAILABLE)

Part 6: Tensors (AVAILABLE)

Classification and metrics: MNIST handwritten digits recognition (AVAILABLE)

Tensors and ND arrays (AVAILABLE)

Tensor transformations (AVAILABLE)

DNNL: Tensors on the CPU (AVAILABLE)

Tensor-based neural networks (AVAILABLE)

cuDNN: Tensors on the GPU (AVAILABLE)

Part 7: Convolutional networks (IN PROGRESS)

The convolution operation (AVAILABLE)

Convolutional layers on the CPU with DNNL (AVAILABLE)

Convolutional networks (CNN): Fashion-MNIST (in version 1.0)

CNN on the GPU with cuDNNL (in version 1.0)

VGG: a non-trivial CNN example (in version 1.0)

Part 8: Recurrent networks (In the 2nd edition of the book, 2021)


subscribe now for early access

read drafts now

get new chapters as they are written

all revenue goes towards funding my work on the open source libraries used in the book

subscription perks

your name in the book’s acknowledgments

special copy with a personalized thank you note

personalized handcrafted hardcovers for chapter sponsors

get in early and help make this book awesome!

More Books

Numerical Linear Algebra for Programmers

learn more and download

Interactive Programming for Artificial Intelligence series; Numerical Linear Algebra for Programmers: An Interactive Tutorial with GPUs, CUDA, OpenCL, MKL, Java, and Clojure