Deep Learning with PyTorch
pytorch.org
pytorch.org
[1]: https://twitter.com/karpathy/status/868178954032513024?lang=...
I would say it's top 3, probably top 2 with potential to get better.
The fact that our team in particular is looking at moving is probably a disaster for TF since a number of the criticisms typically leveled at it we didn't see as issues. We have a couple of really strong people with haskell backgrounds so static graphs and laziness we didn't find to be problematic.
However the embrace of Keras in 2.0 has left us dumbfounded. On one hand having a consistent layer interface is nice. On the other hand having a base class for the loss function that is not sufficiently general, the fact that all non-toy models we build seem to need model subclassing and a custom training loop with GradientTape and the number of issues we ran into while trying to port a couple of models has led me to conclude that the release was not ready. So while we like the tools around the model (tf.data, tensorboard, serving, tfx, etc...) building actual models I think has gotten worse.
Now my opinions on PyTorch are not from shipping production models but mostly porting to TF and keeping tabs on what they are doing. PyTorch also makes it easy to define reusable units. It does not try and expose a higher level interface that requires a significant investment in learning to express complex or unusual models. It seems a bit less opinionated on what the user should do.
A couple of other notes, PyTorch is being used inside Google for research I think. They have now written several papers (including one with Jeff Dean as 5th author) that have had their code released in PyTorch. PyTorch I think (it might already have) will end up with better governance but I would be interested in others opinions. They have at least one person listed under the project maintainers who does not work for FaceBook. A reason for adopting PyTorch may be that one company just does not decide to radically change the project to fit their view of the world.
This last bit is purely conjecture. PyTorch I think has already won over TF and it is going to take a couple of years for it to play out. If I had to bet today I would bet that PyTorch will become the dominate framework for both research and production. Of course something could happen to derail that but if things continue on their current trajectories I think its inevitable.
I strongly recommend fast.ai instead. Although often looked at as the resource for people who can’t deal with the math, I actually found it to be extremely good at explaining the math. Compare, for example, the deep learning book’s explanations on various gradient descent methods with Jemery Howard’s explanation - in the book it looks very complex, whereas in the course it’s actually really intuitive. And Jeremy doesn’t gloss over things, he actually implements the various gradient descent methods in Excel (!).
I started with a top-down approach via the fast.ai courses and learning Keras, then spent time brushing up on some of the math concepts (as you said, it assumes a fair amount of previous knowledge), and then went back and started re-reading it, and I finally feel like I'm starting to get some value out of it.
Definitely wouldn't recommend it as a first book, though.
That book is only useable if you are a math PhD and want to get into ML.
Source: buddy is math PhD and worked with ML for 5-10 years now, even he has hard time understanding some chapters.
I did find that it didn't provide much context around why the equations matter, and definitely wouldn't be useful for those starting out in the field. It did have some pretty good coverage of gradient descent and various optimisers, which I found useful.
tl;dr: not really worth it for its stated purpose, but not a bad second or third stats book.
The purpose is exactly to get developers up to speed so that they can start perusing the already excellent online docs.
Hope you like it :-)
https://thegradient.pub/state-of-ml-frameworks-2019-pytorch-...
“PyTorch and TensorFlow for Production
Although PyTorch is now dominant in research, a quick glance at industry shows that TensorFlow is still the dominant framework. For example, based on data from 2018 to 2019, TensorFlow had 1541 new job listings vs. 1437 job listings for PyTorch on public job boards, 3230 new TensorFlow Medium articles vs. 1200 PyTorch, 13.7k new GitHub stars for TensorFlow vs 7.2k for PyTorch, etc.”
That suggests 1:1 for jobs, 2:1 for github stars and 3:1 for articles on Medium. Really hard to say if any of those reflect uses in production in any meaningful way, but if so, I’d suggest that the jobs and/or github stars might be more useful than articles on Medium.
For research and for use in published papers, PyTorch is much more widely used.