Back to index
OtherAround 650 pages across 20 chapters, six to ten weeks if you run the code·Around $50 for print with the ebook, and a free online edition at deeplearningwithpython.io

Deep Learning with Python, Third Edition (Chollet and Watson)

4.7

The second edition was already the best first deep learning book. This one is a genuine rewrite rather than a refresh, and it drags the book into the generative era without losing what made it good.

What We Liked

  • Chollet writes about intuition better than almost anyone else in the field
  • Keras 3 means the code runs on JAX, PyTorch or TensorFlow, which future proofs the examples
  • New chapters on transformers, building a GPT and diffusion models are properly worked rather than tacked on
  • The chapters on generalisation and the machine learning workflow are worth reading even if you never touch Keras
  • A free online edition exists, which removes the usual excuse

What Could Be Better

  • Keras is no longer where most practitioners live, so some of the muscle memory does not transfer
  • At 650 pages it has lost the brisk feel of the first edition
  • Very little on evaluation, deployment or anything that happens after the model trains
  • The LLM chapters teach you the mechanism, not how to work with hosted models
  • Assumes comfortable Python and will not carry a beginner programmer

Detailed review

There is a specific thing Chollet does that almost nobody else manages, which is to explain a technical idea in a way that leaves you feeling like you could have arrived at it yourself. The first edition of this book was full of that, and the reason it became the default recommendation was never the Keras coverage. It was the chapter where he explains what a neural network is doing geometrically, the crumpled paper metaphor for manifold untangling, and the sustained argument that deep learning is representation learning rather than magic. Nine years later that material is still the best short explanation of the subject in print.

The third edition, co written with Matthew Watson from the Keras team, is a real rewrite rather than a version bump with new screenshots. The structural change that matters is Keras 3, which sits on top of JAX, PyTorch or TensorFlow rather than being welded to TensorFlow. That is a much better position for a teaching book to be in. The code you read is about the idea rather than about one company's framework, and if you decide later that you want to work in PyTorch directly, nothing you learned here becomes dead weight.

The new generative material is the other big change and it is handled with more seriousness than I expected. There is a proper treatment of attention and transformers, then a chapter where you build a GPT style model, then diffusion for image generation. These are not summaries. You write the thing.

Having spent a lot of time watching people try to learn transformers from blog posts and come away with a vague sense that queries and keys are important somehow, I think working through an implementation with someone competent narrating is still the fastest route to actually understanding it. The material on generalisation is quietly the best part of the book and always has been. Why deep learning works at all, what overfitting really is, why the standard tricks help, how to think about the gap between training performance and the thing you actually care about. Most books cover regularisation as a list of techniques.

This one gives you a model of what is happening, and that transfers to problems the book never mentions. The workflow chapters are similarly practical, in that they talk about defining the problem, choosing a metric that matches it, and setting a sensible baseline before touching an architecture. Now the real reservations. The first is unavoidable and Chollet cannot fix it, which is that Keras is no longer the centre of gravity.

If you join a team doing deep learning today the odds are heavily that you will be reading and writing PyTorch, and while the concepts transfer completely, the API fluency does not. You will finish this book understanding deep learning well and still needing a few weeks to become productive in the codebase you actually work in. I do not think that makes it the wrong book to start with, because concepts are harder to acquire than APIs, but you should know you are signing up for two steps rather than one. The second is length.

The first edition was around 380 pages and felt like it respected your time. This is 650 and there are stretches, particularly in the middle applied chapters, where the pace sags. I would rather have a tighter book with pointers outward than a comprehensive one, though I accept that is a taste judgement. The third is that the book stops when the model does.

There is essentially nothing on evaluating a system in production, on monitoring drift, on cost, on serving, or on the messy organisational work that determines whether a model ever gets used. That is not a criticism of what it set out to do, but it does mean this is half of an education. Huyen's Designing Machine Learning Systems is the natural other half. And on the LLM chapters specifically, be clear about what you are getting.

You learn how a language model works by building a small one. You do not learn how to build applications on top of hosted models, which is what most people writing AI code are actually paid to do. Those are different skills and this book teaches the deeper, less immediately useful one. My 4.7 is close to the top of what I give.

It is the clearest writing on deep learning aimed at people who can program, the rewrite is honest work rather than a marketing exercise, and the free online edition means cost is not a barrier. The deductions are for a framework that has drifted from where the jobs are, and for a scope that ends at the model boundary. Read it, then go and rebuild two of its projects in PyTorch from scratch.

[ final ]

The verdict.

Still the book I recommend first to somebody who can code and wants to actually understand deep learning. Follow it with PyTorch practice, because that is what you will be writing at work.