Ivy: Templated Deep Learning for Inter-Framework Portability
  We introduce Ivy, a templated Deep Learning (DL) framework which abstracts
existing DL frameworks. Ivy unifies the core functions of these frameworks to
exhibit consistent call signatures, syntax and input-output behaviour. New
high-level framework-agnostic functions and classes, which are usable alongside
framework-specific code, can then be implemented as compositions of the unified
low-level Ivy functions. Ivy currently supports TensorFlow, PyTorch, MXNet, Jax
and NumPy. We also release four pure-Ivy libraries for mechanics, 3D vision,
robotics, and differentiable environments. Through our evaluations, we show
that Ivy can significantly reduce lines of code with a runtime overhead of less
than 1% in most cases. We welcome developers to join the Ivy community by
writing their own functions, layers and libraries in Ivy, maximizing their
audience and helping to accelerate DL research through inter-framework
codebases. More information can be found at https://ivy-dl.org.
