unifyai/ivy

Convert Machine Learning Code Between Frameworks

解决的问题

Ivy 解决了机器学习中的框架锁定问题。它允许开发人员在无需手动重写代码的情况下,将机器学习模型、工具和库从一个框架(如 PyTorch)转换为另一个框架(如 TensorFlow、JAX 或 NumPy)。

工作原理

Ivy 使用一个转译器 (ivy.transpile),可以将特定框架的代码转换为所选的目标框架。它既支持针对特定函数或类的即时(eager)转译,也支持针对整个模块或库的延迟(lazy)转译。此外,它还提供 ivy.trace_graph 函数,可以从给定函数中追踪出高效且功能完备的计算图,从而消除冗余代码。

适用对象

专为机器学习工程师和研究人员设计,他们需要将模型或库在不同的深度学习框架之间移动,以利用特定的生态系统优势或部署需求。

亮点

  • 多框架支持:支持在 PyTorch、TensorFlow、JAX 和 NumPy 之间进行代码转换。
  • 灵活的转译:支持代码的即时(eager)和延迟(lazy)转换。
  • 图追踪:能够从现有的框架代码中提取干净的计算图。
  • 库的可移植性:可以将整个第三方库转译到不同的目标框架。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目