We introduce Ivy, a templated Deep Learning (DL) framework which abstracts existing DL frameworks such that their core functions all exhibit consistent call signatures, syntax and input-output behaviour. Ivy allows high-level framework-agnostic functions to be implemented through the use of framework templates. The framework templates act as placeholders for the specific framework at development time , which are then determined at runtime. The portability of Ivy functions enables their use in projects of any supported framework . Ivy currently supports TensorFlow, PyTorch, MXNet, Jax and NumPy. Alongside Ivy, we 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 the creation of lifelong inter-framework codebases. More information can be found at URL
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 URL
R
such that their core functions all
. Ivy unifies the core functions of these frameworks to
R
Ivy allows
New
R
to be implemented through the use of framework templates. The framework templates act as placeholders for the specific framework at development time
and classes
R
then determined at runtime. The portability of Ivy functions enables their use in projects of any supported framework
usable alongside framework-specific code, can then be implemented as compositions of the unified low-level Ivy functions
R
Alongside Ivy, we
We also
D
the creation of lifelong