Deep learning is often viewed as the exclusive domain of math PhDs and big tech companies. But as this hands-on guide demonstrates, programmers comfortable with Python can achieve impressive results in deep learning with little math background, small amounts of data, and minimal code. How? With fastai, the first library to provide a consistent interface to the most frequently used deep learning applications.
Authors Jeremy Howard and Sylvain Gugger show you how to train a model on a wide range of tasks using fastai and PyTorch. You'll also dive progressively further into deep learning theory to gain a complete understanding of the algorithms behind the scenes.
Train models in computer vision, natural language processing, tabular data, and collaborative filtering Learn the latest deep learning techniques that matter most in practice Improve accuracy, speed, and reliability by understanding how deep learning models work Discover how to turn your models into web applications Implement deep learning algorithms from scratch Consider the ethical implications of your work
Jeremy Howard is an Australian data scientist and entrepreneur. He began his career in management consulting, at McKinsey & Company and AT Kearney. Howard went on to co-found FastMail in 1999 and Optimal Decisions Group. He later joined Kaggle, an online community for data scientists, as President and Chief Scientist.
Together with Rachel Thomas, he is the co-founder of fast.ai, a research institute dedicated to make Deep Learning more accessible. Previously, he was the CEO and Founder at Enlitic, an advanced machine learning company in San Francisco, California.
What an amazing book! What an amazing venture Sylvain and Jeremy have undertaken!
I've done parts of the fast.ai video course in the past. I was very excited that a book version was coming, and in this kindle edition they don't disappoint. For those who prefer written materials to videos, this will be an exciting release.
I haven't finished all the materials in the book, but I've read a good way and while it's a different experience to doing the course online, I have been enjoying it so far. The book is well written, well thought-out and the ideas explored are interesting in and of themselves.
For those who use kindle devices, I'm happy to report that the book opens on an old Kindle 2, as well as on iPad, iPhone and web versions of the Kindle reading application. Screenshots above are taken from the web version. You can see in one of them that the formatting is really well handled -- you can make highlights in the code samples. (Those of you who read technical books on their kindles will know that it is RARE that the publisher makes the effort to handle the formatting of these books properly -- quite often they just make images of the code snippets in the book, making for a bloated file size of the book and unusable content from the perspective of the reader. Luckily this book is REALLY WELL FORMATTED. Thank you, O'Reilly (and Sylvain and Jeremy presumably as well, for their open-access formatting of the book which is on Github too)).
I'll let others more knowledgeable than me comment on the content of the book, but for this early-stage deep learning student, this book is inspiring, clearly written and a great asset in my studies going forward.
I'm a data scientist. Since most of the data that I traditionally used at work was tabular, I rarely had a need for deep learning. That's starting to change as I work on more NLP projects. I read this book and followed along in the accompanying online course because of the hype surrounding fast.ai. I've become a fan. The content gives the motivated student just enough information to feel empowered to go out and learn more. It's in a sweet spot between breezy tutorials and more serious texts like Deep Learning.
This book was a much better place to start than Deep Learning. The philosophy is that, instead of "starting from first principles" and building upward, the book starts kind of in the middle and builds outward. First, you learn how to fine-tune an existing model - pretty high level. Then, you learn how to build simple character recognition models from something-like-scratch to understand what neural networks are. Then you talk about all the important data practices you'll likely need to do practical deep learning. Finally, after all of this, you start to learn relatively modern deep learning architectures like CNNs and LSTM. And, by the end, you finally get into the lower level implementation and math.
There are two reasons this works: 1. It is far more interesting, since you know why you're learning each concept. This has always been my problem with linear algebra the several times I've been taught it: "here's what matrix multiplication is. don't worry about why you need to do it, just memorize how to do it!" 2. Relatedly, you are exposed to the same concept multiple times, since you revisit the concepts in more and more detail as the book goes on. This helps reinforce the topics in your mind.
I also liked the questionnaires at the end of each chapter. These helped me solidify my knowledge a bit, even if I never did the coding exercises (in large part because I want to get a survey of all the information first - I intend to go deeper on messing around with projects now).
My only issue with the book: the book repeatedly mentions "online chapters" or other resources on https://book.fast.ai - but that website no longer exists. The book is only a year old! I'd expect all the web resources to be up to date by now. There also doesn't seem to be a repository with answer to the problems.
Overall, though, I recommend this book to anyone who wants to get a nice mix of practice and theory in deep learning. This book gave more evidence to my suspicion that deep learning is broader than it is deep - if you want to get to the state of the art for one particular domain, you don't need to know a ton to understand it. If you want to understand how we got to that point, the various alternative approaches that have different tradeoffs, and contribute to the state of the art, you need to spend more time in the field. I'm looking forward to learning more about topics that aren't covered as deeply in this book - reinforcement learning, NLP, NN interpretability
This competes for one of the worst books I ever read. I really struggled not to set it aside. It tries to simplify the topic too much, it is poor at formalizing concepts, and it explains things terribly, in an effort to sound easy. It also feels like too much promotion of the fastai library, there's much less PyTorch here than what one would think from the title. I really can't recommend this to anyone.
I read this alongside doing Jeremy Howard's 2022 "Practical Deep Learning for Coders" (https://course.fast.ai/), which I just finished. The self-paced course uses this textbook as a companion, so I read the lion's share of it: Ch 1, 2, 3, 4, 8, 9, 10, and 13.
There's not much to add on top of what's already been said: this book is quite good and remarkably clear. I had exposure to DL from a handful of courses in school but Howard's approach is much more applied. The book generally starts with working applications and applies techniques to novel datasets, learning "just enough theory" to make applications make sense.
Many things I was already fairly familiar with were made much clearer through some of the simplicity of the book/Jeremy's pretty amazing ability to break this stuff down. For example, the illustrations about how convolutions work, and several of the Excel spreadsheets, were a godsend.
The book encourages everyone to "blog" their progress for metacognitive reasons, and I did (+ will continue to for part 2!): you can read my writeups at https://lucasgelfond.online/blog/fastai
A few things that surprised me: - This is less of an "AI" book than a "data science, machine learning, and deep learning" book. My sense is that this is intentional and used to build strong foundation before getting to more complex apps. That said, I was fairly surprised how much time was devoted to stuff like random forests, tabular models, etc. - If you have taken any ML/DL this will be somewhat familiar. I still got a ton out of it, because I think it is much more intuitive (and applied! I was mostly writing code the whole time!) than most courses or books.
Anyways, definitely recommend. My only gripes were: fast.ai as a library is not super well maintained and occasionally buggy, some of the libraries referenced here are outdated, and there aren't answers for all of the questions in the book!
I also think: I only got a lot out of this by doing the corresponding projects, answering the questions at the end of each chapter, blogging, etc; they stress this a lot but I think this book is probably not very useful without doing so!
I read this basically for the express purpose of getting good at diffusion models, which is the whole purpose of Part 2, which is on their site but lies beyond this book—I'm really excited!
Great book for everybody who wants to learn deep learning and who would like to refresh their knowledge. Book has code examples and very good explanations. Suggest to read the book while working on your project, this makes learning more effective as you just don't run the code but have to adapt it to your project. I like the way book focuses on writing readable code. Data science doesn't have to be ad hoc code mess. Besides the book look at their homepage, there is tons of useful material.
The book is verbose. On the one hand, it describes many concepts in detail, which is beneficial. On the other hand, it fails to clarify some key components, making it difficult for readers to fully understand the topic. Take Chapter 12, for example, a deep-dive into RNNs, but without an explanation of RNNs. Now, if one has learned about RNN elsewhere, this section would be sufficient upon familiarizing oneself with some fastai APIs. Otherwise, it would be quite hard to understand why things are being done in a certain way. Regardless, I appreciate the author's effort in education and making such a book free online. And the fact that the fastai library can save time.
Overly preachy of the fastai library created by the authors, which is relatively niche and unused. I would've preferred if the focus was on Pytorch while occasionally mentioning how Fastai could improve upon the Pytorch implementation. The way that the authors did it is confusing. Hence, when a new topic is introduced I have to ask myself if each sentence is applicable to Pytorch or only fastai; the book provides no answers.
To me this is a major flaw that makes the book non-recommendable. However, the overall DL concepts presented are well explained.
I've read many books on ML and DL but none of them detail, on so many levels, the technical aspects of training deep neural networks like this one. A must read for MLE/DS professionals.
Fastai has created a solid library for exploring deep learning concepts. The fact everything in this book can be trivially reproduced in minutes is impressive.
In general the book was quite accessible until the latter chapters describing ResNet and other state of the art (at the time of writing) architectures. However those chapters are not necessary to make use of deep learning concepts.
I'd recommend pairing this with introduction to statistical learning which provides a bit more (light) mathematical foundation and also eases into more simplistic approaches like regressions.
I particularly appreciated that ideas like decision trees were discussed which are a perfectly reasonable approach for some datasets.
Deep learning has come a long ways from the era of keras and tensorflow for usability
Great intro to deep learning book, their notebooks and free online courses are must try. Jeremy himself read lots of educational research papers to make the course fun, encouraging. Learners can gain learning philosophy that keeps them going.
For Natural Language Processing or NLP, I recommend YouTube courses by Andrej Karpathy, my favorite.
For Computer Vision or CV, Justin Johnson from University of Michigan open his deep learning for computer vision course videos and assignments.
Song Han from MIT also open sourced his TinyML and Efficient Deep Learning Computing course.
My understanding is that, deep learning is about using mathematical functions for modeling the reality, but for now we need a lot of data and computing resources. It’s a game for big tech particularly for LLMs. Computer vision is more practical.
It Is the best book I have ever read. Normally I don't recommend to buy deep learning book, because this area changes so drastically. However this book has a Website where the present Changes are also considered. This books starts with a very High Level programming where in some 5/6 Lines of Code one can achieve SOTA. After that it went deep dive to more Details of those 5/6 lines of Code. After Reading this book you will be capable of understanding each Part of deep learning. Subsequently you will be very confident about reading research paper ( telling from personal experience). Not only pytorch Framework but also you will be a netter Python programmer. No Matter whether you Just starting your deep learning Journey or you are an experienced deep learning practitioner it Is a must read.
I absolutely loved this book. I was skeptical at first since I had gone through many courses, each claiming to be 'the one' so when I came across the fastai courses and Jeremy, I shrugged them off at first. I slowly started watching videos with Jeremy in it and fell in love with his philosophy of democratizing AI and his honest effort to make Deep Learning Accessible to everyone. I finally took the course and used this book as a supplement and I regret nothing.
Just a note: The teaching method used here is Top-Down Approach (which turns out to be actually better) where they go from building actual models and then slowly peel off and teach layers by layers. So at times you will feel 'stupid' but trust the process. Learn on demand
An amazing applied deep learning book. Jeremy Howard is a good amount of the reason I now work at Google, on NLP and deep learning of all things!
Love the learning philosophy here, which many smart people don’t embrace (I’ve met a large number of PhD people who recommend linear algebra, or something equally idiotic when asked by a beginner how to get into deep learning) and would benefit from greatly: “learning the whole game”. In other words, don’t procrastinate with pre-reqs, dive in to the hard stuff first, then use that to self educate on which pre reqs are even needed for the depth.
Lot of respect to Jeremy for making this free and his recent work on covid
This book is how I would recommend people get into deep learning. It does a great job of combining learning with practice and with explaining key concepts intuitively, for example gradient descent. The book’s top-down approach to learning is, I think, best for most people. I wish I had this when I was looking into deep learning a few years back.
The book is more fast.ai heavy than I expected - as opposed to PyTorch. I’m a fan of fast.ai so far, but I’m not sure how well this will transfer to industry. I am still feeling that out
If you are trying to get into predictive modeling, this is the best place. It does a really good job of introducing complexity at the appropriate time. Each step doesn't seem like a big leap, and somehow by the end of the book you know way more than most others in the industry.
I highly recommend this book for anyone interested in learning practical machine learning skills.
I love this textbook! It does a great job of explaining machine learning concepts. I definitely prefer it to the other books and courses I've tried. It's not perfect, but I highly recommend this book to anyone interested in Deep learning or machine learning. This book takes its time explaining things and teaches them in an order that helps the reader learn. One of the few textbooks I've read all the way through and can't wait to read a second time.
Not recommended if you are not planning to use the fastai library a lot or don't really like the way the fastai libary is designed. However, this is a book with very good information and experience on handling many of the popular deep learning problems. This may not be a book for step by step learning but might be a good reference that you would come back to often when you need new ideas to improve your model.
Jeremy and Sylvain's aim to capture the core intuitions of Deep Learning(DL) beyond the mathematical abstraction layers and associated jargon: - was a success! Their focus to make one roll their sleeves and get going with the tech was absolutely fluid! Heed to the fundamentals you ought to have grasped before you jump on this read; for if you have, this will be a meaningful read as you compound your skillsets in DL.
pl. Nie moge zainstalowac pytorch i fastai. Korzystam z anaconda 2024. Mimo wielu wysilkow ani conda ani pip przy wsparciu AI nie tworzą srodowiska dla działania kodu zawartego w ksiazce. Na forach fastai nie wymienia sie tak podstawowych informacji jak np. matplotlib, numpy, pandas pymc3 itd Nie ma powrotu do python 3 &fastai&pytorch. Książka moze jest dobra. Dla mnie jest to nowe auto do ktorego nie mam kluczykow, a drzwi sa zaspawane.
This entire review has been hidden because of spoilers.
This book has everything I need on AI today...from running my algorithms to testing to deployment. I showed me how to write my codes and from Jupyter notebooks convert them into an ebook for publishing using NBDEV. This book is truly amazing. The authors packed in too much
This entire review has been hidden because of spoilers.
I really appreciate the effort that Jeremy and Sylvain have put into making deep learning accessible and interesting to a programmer like me. The book is a joy to read and the authors have found the perfect balance between guiding and challenging the reader. I can't recommend it more highly.
A blitz through years and years of research and state of the art methods to get you from zero to deliver results on par (and sometimes even better than) with researchers at top tier companies.
Truly an amazing book. I love how hands on it is, and straight to the point. The book is created with Jupyter notebooks which is both an advantage and a disadvantage.