Recently, I reviewed "Grokking Deep Learning," an introductory book on deep learning written by Andrew Trask. One thing that characterizes the book is that it teaches you to build neural networks from scratch. It starts with developing a single artificial neuron in vanilla Python to solve linear regression problems, and then it gradually adds to the complexity of the system by stacking neurons together and in layers, adding activation functions, regularization layers, etc. It finally ends up by putting everything together in a bunch of Python classes that very much resemble PyTorch.You can read the full review here: really think the process helps better understand both deep learning concepts and libraries. But do you really need to know all of this? Has anyone been doing production- and research-level development of Python deep learning without knowing the ins and outs of implementing all fundamental DL concepts in Python?