Deep neural networks I

Software for deep learning

Deep learning is about composing differentiable functions into more complex functions, represented as a computation graph, and then using automatic differentiation ("autograd") to compute gradients, which we can pass to an optimizer, to fit the function to data. This is sometimes called "differentiable programming".

There are several libraries that can execute such computation graphs on hardware accelerators, such as GPUs. (Some libraries also support distributed computation, but we will not need use this feature in this book.) We list a few popular libraries below.

Name Functionality More info
Tensorflow 2 Accelerated numpy-like library with autograd support. Keras API.
JAX Accelerated numpy, functional code transformations (autograd, JIT, VMAP, etc)
Pytorch Similar to TF 2 Official PyTorch tutorials
MXNet Similar to TF 2. Gluon API. Dive into deep learning book

In [0]:


In [0]: