Daniel Voigt Godoy
Traducción de Jesús Martínez-Blanco

Deep Learning

with PyTorch


A Beginner's Guide

Versión en Español!

Volumen I: Fundamentos
¡Comprar Ahora!

Why This Book?

Are you looking for a book where you can learn about Deep Learning and PyTorch without having to spend hours deciphering cryptic text and code?

A technical book that’s also easy and enjoyable to read?

This is it!

Tell Me More!

This is not a typical book: most tutorials start with some nice and pretty image classification problem to illustrate how to use PyTorch. It may seem cool, but I believe it distracts you from the main goal: how PyTorch works? In this book, I present a structured, incremental, and from first principles approach to learn PyTorch (and get to the pretty image classification problem in due time).

Moreover, this is not a formal book in any way: I am writing this book as if I were having a conversation with you, the reader. I will ask you questions (and give you answers shortly afterward) and I will also make (silly) jokes.

My job here is to make you understand the topic, so I will avoid fancy mathematical notation as much as possible and spell it out in plain English.

The FULL Guide


Buy Now!

The book covers from the basics of gradient descent all the way up to fine-tuning large NLP models (BERT and GPT-2) using HuggingFace.

It is divided into four parts:

  • Part I: Fundamentals (gradient descent, training linear and logistic regressions in PyTorch)
  • Part II: Computer Vision (deeper models and activation functions, convolutions, transfer learning, initialization schemes)
  • Part III: Sequences (RNN, GRU, LSTM, seq2seq models, attention, self-attention, transformers)
  • Part IV: Natural Language Processing (tokenization, embeddings, contextual word embeddings, ELMo, BERT, GPT-2)

The FULL guide contains ALL the content from Volumes I, II, and III!

Get your FREE sample now!

Download Now!

¡Obtenga tu muestra GRATIS ahora!

¡Descargar Ahora!

Volume I: Fundamentals


Buy Now!

In the first volume of the series, you’ll be introduced to the fundamentals of PyTorch: autograd, model classes, datasets, data loaders, and more.

If you have absolutely no experience with PyTorch, this is your starting point.

By the time you finish this volume, you’ll have a thorough understanding of the concepts and tools necessary to start developing and training your own models using PyTorch.

What's Inside

  • Gradient descent and PyTorch’s autograd
  • Training loop, data loaders, mini-batches, and optimizers
  • Binary classifiers, cross-entropy loss, and imbalanced datasets
  • Decision boundaries, evaluation metrics, and data separability

Volume II: Computer Vision


Buy Now!

In the second volume of the series, you’ll be introduced to deeper models and activation functions, convolutional neural networks, initialization schemes, learning rate schedulers, transfer learning, and more.

If your goal is to learn about deep learning models for computer vision, and you’re already comfortable training simple models in PyTorch, the second volume is the right one for you.

What's Inside

  • Deep models, activation functions, and feature spaces
  • Torchvision, datasets, models, and transforms
  • Convolutional neural networks, dropout, and learning rate schedulers
  • Transfer learning and fine-tuning popular models (ResNet, Inception, etc.)

Volume III: Sequences&NLP


Buy Now!

In this third volume of the series, you’ll be introduced to all things sequence-related: recurrent neural networks and their variations, sequence-to-sequence models, attention, self-attention, and Transformers.

This volume also includes a crash course on natural language processing (NLP), from the basics of word tokenization all the way up to fine-tuning large models (BERT and GPT-2) using the HuggingFace library.

This volume is more demanding than the other two, and you’re going to enjoy it more if you already have a solid understanding of deep learning models.

What's Inside

  • Recurrent neural networks (RNN, GRU, and LSTM) and 1D convolutions
  • Seq2Seq models, attention, masks, and positional encoding
  • Transformers, layer normalization, and the Vision Transformer (ViT)
  • BERT, GPT-2, word embeddings, and the HuggingFace library


Mahmud Hasan

Machine Learning Engineer at Micron Technology, Smart Manufacturing and AI

"I am usually really picky in choosing books about ML/DL but I have to tell you, this book was one of the best books I have ever invested in. I cannot thank you enough for writing a book that gives so much clarity on the explanations of the inner workings of many DL techniques. Thank you so much and I hope you come up with even better books on other ML topics in the future."

Nipun Nayan Sadvilkar

Lead Data Scientist & Author, DL & NLP Workshop

"As an author myself who've co-authored two books in Deep Learning & NLP space, I'm extremely impressed by Daniel's step-by-step pedagogical approach. Starting with a toy problem and gradually building abstractions on top of each other massively helps beginner to understand the nuts and bolts of each models and neural architectures be it basic or advanced! Daniel has justified "step-by-step" part from the title in a true sense. Highly recommended!"

Dr. Howard Bandy

President of Blue Owl Press

"I am impressed! Your books are superb. Well laid out, nicely formatted, easy to read. The material is straightforward, complete, and correct."

"Completed this amazing books on #deeplearning with #pytorch.
In last 5 years, I have read plenty of books and each one of them had something unique to deliver. However, this particular series deserves an exceptional appreciation.
Daniel Voigt Godoy, the author, explains every detail so lucidly, it is hard to miss or assume any of the underlying math. Every chapter is practical oriented and corresponding Jupyter notebooks are uploaded on the github repo.
Highly recommend this for all levels of Data Scientists and Machine Learning Enthusiasts. To conclude in one line, this book greatly strengthens your basics."

Chintan Gotecha, Senior Data Scientist, on Linkedin

"We love the book as it’s so easy to read. The author uses simple words and avoids complex mathematical formulas, making the text feel like a conversation between friends."

Zuzanna Sieja from DLabs.AI on
11 Books Every Data Scientist Must Read In 2022

"As for learning PyTorch and deep learning in general, Deep Learning with PyTorch Step-by-Step by Daniel Voigt Godoy is easily the best guide that I’ve found. I love how this huge hands-on tutorial it is structured, it starts from the ground level, then after showing the basic things, it goes straight into computer vision topics and in the end you get to know transformers and word embeddings, all of which play important part in the inner workings of CLIP."

johanezz from deeplearn.art on
Get started with making AI art in 2022

"This is the best book I have read in my entire life, in terms of richness, intuition, and practicality (also your puns)."

@Teddy2kay1 on Twitter

"@dvgodoy is a @dataScienceRet former teacher and dean who is really good at explaining things clearly. His material is top shelf. It could be this is the best @pytorch book on the market today. Even though the title says 'for beginners' he gets into deep stuff fast and elegantly."

Data Science Retreat on Twitter

"I can vouch for @dvgodoy's content and writing style to be really ideal for beginners. He's a deep thinker and has been working on this book for months."

Jose Quesada on Twitter

"You always explain ML concepts in easy to understand way."

Wooyoung Son, Software Engineer, on Linkedin

"I have read some of the early chapters and its really engaging. Thank you so much for your hard work."

Pushkar Ravi, Asst. Vice President, Enterprise Product Manager, on Linkedin

"And for those who are not familiar with Daniel Voigt Godoy’s work - he is an awesome teacher who can simplify the most complex concept. So take a look!"

Hsin-Chih LEE, Data Analytics Consultant, on Linkedin

"Amazing book, a quick note to all the bit more experienced DL practitioners - don't get fooled by the 'beginner' in the book's title. This book can be challenging (in a good way) on multiple fronts. It has a nice balance between foundational DL knowledge and practicality. On top of that it has great visuals (especially for some math heavy topics) you will certainly get some 'a-ha!' moments similar to those you can get watching 3blue1brown."

Jakub Cieslik, AI Engineer specializing in Computer Vision applications, on Linkedin

"Daniel, I'm impressed by your book. 👌"

Tárik S. Salem, Machine Learning Researcher & Engineer, on Linkedin

"This looks like it is very comprehensive, rich in detail and it might have been a huge investment of time and effort to write this. Kudos to you for making the convoluted stuff so enjoyable to read and easy to understand."

Rishabh Kumar, Business Intelligence Analyst, on Linkedin

"I enjoyed my quick foray into it - fresh style (including puns), which makes it easy and fun to follow. Nice!"

Dr. Harald Hentschke, Data Scientist, on Linkedin

Jupyter Notebooks

The book’s official repository is available on GitHub:

It contains one Jupyter notebook for every chapter in this book. Each notebook contains all the code shown in its corresponding chapter, and you should be able to run its cells in sequence to get the same outputs, as shown in the book. I strongly believe that being able to reproduce the results brings confidence to the reader.

Part I / Volume I: Fundamentals

Chapter 0 - Visualizing Gradient DescentOpen In Colab
Chapter 1 - A Simple Regression ProblemOpen In Colab
Chapter 2 - Rethinking the Training LoopOpen In Colab
Chapter 2.1 - Going ClassyOpen In Colab
Chapter 3 - A Simple Classification ProblemOpen In Colab

Part II / Volume II: Computer Vision

Chapter 4 - Classifying ImagesOpen In Colab
Chapter 5 - ConvolutionsOpen In Colab
Chapter 6 - Rock, Paper, ScissorsOpen In Colab
Chapter 7 - Transfer LearningOpen In Colab
Chapter Extra - Vanishing and Exploding GradientsOpen In Colab

Parts III & IV / Volume III: Sequences & NLP

Chapter 8 - SequencesOpen In Colab
Chapter 9 - Sequence-to-SequenceOpen In Colab
Chapter 10 - Transform and Roll OutOpen In Colab
Chapter 11 - Down the Yellow Brick Rabbit HoleOpen In Colab

About the Author

Daniel has been teaching machine learning and distributed computing technologies at Data Science Retreat, the longest-running Berlin-based bootcamp, for more than three years, helping more than 150 students advance their careers.

He writes regularly for Towards Data Science. His blog post "Understanding PyTorch with an example: a step-by-step tutorial" reached more than 300,000 views since it was published.

The positive feedback from the readers resulted in an invitation to speak at the Open Data Science Conference (ODSC) Europe in 2019, 2020, 2021, and 2022. It also motivated him to write the book Deep Learning with PyTorch Step-by-Step, which covers a broader range of topics.

His professional background includes 20 years of experience working for companies in several industries: banking, government, fintech, retail and mobility.

In this interview, Daniel talks about Deep Learning, PyTorch, and his book - check it out!

Jesús es doctor en Física por la Universidad Autónoma de Madrid y ha trabajado como tal en numerosas instituciones científicas. Siguiendo su pasión por la modelización de datos y la automatización, empezó su carrera como científico de datos a finales de 2015, trabajando en industrias como la publicidad online y la movilidad. Actualmente es Pricipal Data Scientist en FlixBus, el proveedor de rutas de autobús de larga distancia más grande de Europa. Es también profesor y mentor en Data Science Retreat, donde imparte cursos de Visualización de Datos en el contexto web.