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 https://ivy-dl.org.
翻译:我们引入了Ivy, 这是一个模板式的深学习(DL)框架, 其摘要介绍了现有的 DL 框架, 其核心功能都表现出一致的呼唤签名、 语法和输入- 输出行为。 Ivy 允许通过使用框架模板来实施高级框架- 不可知性功能。 框架模板在开发时作为特定框架的占位符发挥作用, 然后在运行时确定。 Ivy 功能的可移动性使得它们能够在任何支持的框架的项目中使用。 Ivy 目前支持 TensorFlow、 PyTorch、 MXNet、 Jax 和 NumPy 。 除了 Ivy, 我们为机械、 3D 视觉、 机器人和不同环境发布了四个纯Ivy 图书馆。 我们通过我们的评估显示, Ivy 可以大量减少代码线, 运行时间管理在多数情况下低于1% 。 我们欢迎开发者加入 Ivy 社区, 在 Ivy 中撰写自己的功能、 层和图书馆, 最大限度地增加受众, 并帮助通过创建终身框架间代码库加速 DL 。 在 https://ivydl org 中可以找到更多信息 。