The 7 best deep learning and machine learning books you should be reading right now

by Adrian Rosebrock

I’m an entrepreneur and Ph.D who has launched two successful image search engines, ID My Pill and Chic Engine. I’m here to share my tips, tricks, and hacks I’ve learned along the way.

In today’s post I’m going to share with you the 7 best deep learning books (in no particular order) I have come across and would personally recommend you read.

Some of these deep learning books are heavily theoretical, focusing on the mathematics and associated assumptions behind neural networks and deep learning.

Other deep learning books are entirely practical and teach through code rather than theory.

And even other deep learning books straddle the line, giving you a healthy dose of theory while enabling you to “get your hands dirty” and learn by implementing (these tend to be my favorite deep learning books).

For each deep learning book I’ll discuss the core concepts covered, the target audience, and if the book is appropriate for you.

To discover the 7 best books for studying deep learning, just keep reading!

The 7 best deep learning books you should be reading right now

Before you choose a deep learning book, it’s best to assess your own personal learning style to ensure you get the most out of the book.

Start by asking yourself the following question:

How do I best learn? Do I like to learn from theoretical texts? Or do I like to learn from code snippets and implementation?

Everyone has their own personal learning style and your answers here will dictate which deep learning books you should be reading.

For me personally, I like to strike a balance between the two.

Deep learning books that are entirely theoretical and go too far into the abstract make it far too easy for my eyes to gloss over.

But on the other hand, if a deep learning book skips theory entirely and jumps straight into implementation, I know I’m missing out on core theoretical underpinnings that may help me approach a new deep learning problem or project.

In my opinion, a good deep learning book needs to carefully balance the two.

We need theory to help us understand the core fundamentals of deep learning — and at the same time we need implementation and code snippets to help us reinforce what we just learned.

1. Deep Learning

It’s hard (if not impossible) to write a blog post regarding the best deep learning books without mentioning Goodfellow, Bengio, and Courville’s Deep Learning text.

This book is meant to be a textbook used to teach the fundamentals and theory surrounding deep learning in a college-level classroom.

Goodfellow et al.’s Deep Learning is entirely theoretical and written for an academic audience. There is no code covered in the book.

The book starts with a discussion on machine learning basics, including the applied mathematics needed to effectively study deep learning (linear algebra, probability and information theory, etc.) from an academic perspective.

From there, the book moves into modern deep learning algorithms and techniques.

The final part of Deep Learning focuses more on current research trends and where the deep learning field is moving.

I’ve personally read through this book twice, cover to cover, and have found it incredibly valuable, provided you have the mathematical/academic rigor required for such a textbook.

Deep Learning is available for online viewing for free from the book’s homepage. You can purchase a hardcopy of the text from Amazon.

You should read this deep learning book if…

  • You learn from theory rather than implementation
  • You enjoy academic writing
  • You are a professor, undergraduate, or graduate student doing work in deep learning

2. Neural Networks and Deep Learning

My second theory-based deep learning (e)book recommendation is Neural Networks and Deep Learning by Michael Nielsen.

The book does include some code but it’s important to underline the “some” — there are a total of seven Python scripts accompanying the book, all discussing a various fundamental machine learning, neural network, or deep learning technique on the MNIST dataset. The implementations are not the most “exciting” in the world, but they will help demonstrate some of the theoretical concepts in the text.

If you are new to machine learning and deep learning but are eager to dive into a theory-based learning approach, Nielsen’s book should be your first stop.

The book is a much quicker read than Goodfellow’s Deep Learning and Nielsen’s writing style combined with occasional code snippets makes it easier to work through.

You should read this deep learning book if…

  • You are looking for a theory-based deep learning text
  • Are new to machine learning/deep learning and want to approach the field from a more academic standpoint

3. Deep Learning with Python

Francois Chollet, Google AI researcher and creator of the popular Keras deep learning library, published his book, Deep Learning with Python in October 2017.

Francois’ book takes a practitioner’s approach to deep learning. Some theory and discussion is included, but for every few paragraphs of theory, you’ll find a Keras implementation of the technique.

One of my favorite aspects of this book is how Francois includes examples for deep learning applied to computer vision, text, and sequences, making it a well rounded book for readers who want to learn the Keras library while studying machine learning and deep learning fundamentals.

I found Francois’ writing to be clear and accessible. His additional commentary on deep learning trends and history is phenomenal and insightful.

It’s important to note that this book is not meant to be a super deep dive into deep learning. Instead, it’s primary use is to teach you (1) the fundamentals of deep learning (2) through the Keras library (3) using practical examples in a variety of deep learning domains.

You should read this deep learning book if…

  • You are interested in the Keras library
  • You “learn by doing/implementing”
  • You want a quick understanding of how deep learning is applied to various fields, such as computer vision, sequence learning, and text

4. Hands-On Machine Learning with Scikit-Learn and TensorFlow

When I first purchased a copy of Aurélien Géron’s Hands-on Machine Learning with Scikit-Learn and TensorFlow, I wasn’t sure what to expect — had the title not included the word “TensorFlow” I may have breezed right by it, thinking it was only a basic introduction to machine learning.

But at the same time, appending the word “TensorFlow” to an already lengthy title that seems to focus on basic machine learning made me think it was a cheap marketing tactic to sell more copies — everyone is interested in deep learning, right?

Luckily, I was wrong — the book is a good read and the title shouldn’t deter you from reading through it.

Géron’s deep learning book is organized in two parts.

The first part covers basic machine learning algorithms such as Support Vector Machines (SVMs), Decision, Trees, Random Forests, ensemble methods, and basic unsupervised learning algorithms. Scikit-learn examples for each of the algorithms are included.

The second part then covers elementary deep learning concepts through the TensorFlow library.

You should read this deep learning book if…

  • You are new to machine learning and want to start with core principles with code examples
  • You are interested in the popular scikit-learn machine learning library
  • You want to quickly learn how to operate the TensorFlow library for basic deep learning tasks

5. TensorFlow Deep Learning Cookbook

If you like the “cookbook” style of teaching (little-to-no theory and lots of code), I would suggest taking a look at Gulli and Kapoor’s TensorFlow Deep Learning Cookbook.

This deep learning book is entirely hands-on and is a great reference for TensorFlow users.

Again, this book is not meant to necessarily teach deep learning, but instead show you how to operate the TensorFlow library in the context of deep learning.

Don’t get me wrong — you will absolutely learn new deep learning concepts, techniques, and algorithms along the way, but the book takes a heavy-handed cookbook approach: lots of code and explanations of what the code is doing.

My only criticism of the book is that there are some typos in the code snippets. This can be expected when writing a book that is entirely code focused. Typos happen, I can certainly attest to that. Just be aware of this when you are working through the text.

You should read this deep learning book if…

  • You have already studied the fundamentals of deep learning
  • You are interested in the TensorFlow library
  • You enjoy the “cookbook” style of teaching where code is provided to solve a particular problem but the underlying theory is not discussed

6. Deep Learning: A Practitioners Approach

While most deep learning books that include code samples use Python, Adam Gibson and Josh Patterson’s Deep Learning: A Practitioners Approach instead use Java and the DL4J library.

Why Java?

Java is the most used programming language in large corporations, especially at the enterprise level.

The first few chapters in Gibson and Patterson’s book discuss basic machine learning and deep learning fundamentals. The rest of the book includes Java-based deep learning code examples using DL4J.

You should read this deep learning book if…

  • You have a specific use case where the Java programming language needs to be utilized
  • You work for a large company or enterprise organization where Java is primarily used
  • You want to understand how to operate the DL4J library

7. Deep Learning for Computer Vision with Python

I’ll be completely honest and forthcoming and admit that I’m biased — I wrote Deep Learning for Computer Vision with Python.

That said, my book really has become one of the best deep learning and computer vision resources available today (take a look at this review and this one as well if you need an honest second opinion).

Francois Chollet, AI researcher at Google and creator of Keras, had this to say about my new deep learning book:

This book is a great, in-depth dive into practical deep learning for computer vision. I found it to be an approachable and enjoyable read: explanations are clear and highly detailed. You’ll find many practical tips and recommendations that are rarely included in other books or in university courses. I highly recommend it, both to practitioners and beginners. — Francois Chollet

And Adam Geitgey, the author of the popular Machine Learning is Fun! blog series, said this:

I highly recommend grabbing a copy of Deep Learning for Computer Vision with Python. It goes into a lot of detail and has tons of detailed examples. It’s the only book I’ve seen so far that covers both how things work and how to actually use them in the real world to solve difficult problems. Check it out! — Adam Geitgey

If you’re interested in studying deep learning applied to computer vision (image classification, object detection, image understanding, etc.), this is the perfect book for you.

Inside my book you will:

  • Learn the foundations of machine learning and deep learning in an accessible manner that balances both theory and implementation
  • Study advanced deep learning techniques, including object detection, multi-GPU training, transfer learning, and Generative Adversarial Networks (GANs)
  • Replicate the results of state-of-the-art papers, including ResNet, SqueezeNet, VGGNet, and others on the 1.2 million ImageNet dataset

Furthermore, I provide the best possible balance of both theory and hands-on implementation. For each theoretical deep learning concept you’ll find an associated Python implementation to help you cement the knowledge.

Be sure to take a look — and while you’re checking out the book, don’t forget to grab your (free) table of contents + sample chapters PDF of the book.

You should read this deep learning book if…

  • You are specifically interested in deep learning applied to computer vision and image understanding
  • You want an excellent balance between theory and implementation
  • You want a deep learning book that makes seemingly complicated algorithms and techniques easy to grasp and understand
  • You want a clear, easy to follow book to guide you on your path to deep learning mastery


In this post you discovered my seven favorite books for studying deep learning.

Have you purchased or read through one of these books? If so, leave a comment and let me know what you think of it.

Did I miss a book that you think should be on this list? If so, be sure to contact me or leave a comment.

Understanding Machine Learning: From Theory to Algorithms:

  1. Understanding Machine Learning: From Theory to Algorithms

Deep learning:

  1. Deep Learning (Adaptive Computation and Machine Learning)
  2. Deep Learning An MIT Press book

The Elements of Statistical Learning:

  1. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition (Springer Series in Statistics)

Pattern Recognition and Machine Learning:

  1. Pattern Recognition and Machine Learning (Information Science and Statistics)
  2. Pattern Recognition and Machine Learning

Pattern classification:

  1. Pattern Classification (Pt.1)
  2. Pattern Classification 2nd Edition with Computer Manual 2nd Edition Set

One Comment

  • golden goose says:

    I wanted to type a note to say thanks to you for some of the precious concepts you are placing here. My rather long internet investigation has at the end of the day been recognized with professional facts and strategies to go over with my best friends. I ‘d say that we readers are undoubtedly fortunate to dwell in a remarkable site with so many perfect individuals with interesting plans. I feel somewhat happy to have encountered the website and look forward to many more brilliant minutes reading here. Thanks a lot once more for everything.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.