Repolode
unifyai

unifyai/ivy

一个 Python 机器学习代码转换库,可在 PyTorch、TensorFlow、JAX、NumPy 等框架之间互相转换代码。

Star
14,169
Fork
5,443
未关闭 Issue
988
最近提交
7小时前

这是什么?

Ivy 可以把机器学习模型、工具和库从一个框架转换到另一个框架。核心接口 ivy.transpile 接收针对某个框架编写的函数、类或模块,返回可在目标框架上运行的等价版本,无需手动重写代码。

传入函数或类时转换会立即完成;传入整个模块时则是惰性转换,函数在第一次调用时才被转换。此外,ivy.trace_graph 可以把函数追踪为面向指定目标框架的函数式计算图。

目前支持以 PyTorch 作为源框架,以 TensorFlow、JAX、NumPy 作为目标框架的转换;其他源框架的支持仍在规划中。

核心功能

  • 01通过 ivy.transpile 在机器学习框架之间转换函数、类和整个模块。
  • 02支持对 kornia 等整个库进行惰性转换。
  • 03通过 ivy.trace_graph 将函数追踪为计算图。
  • 04可通过 pip 直接安装。

适用场景

  • 在 TensorFlow 项目中复用 PyTorch 模型代码。
  • 在 JAX 或 NumPy 环境中运行基于 PyTorch 的工具库。
  • 无需手动改写即可在不同框架之间迁移机器学习代码。

标签

常见问题

ivy 是什么?
一个 Python 机器学习代码转换库,可在 PyTorch、TensorFlow、JAX、NumPy 等框架之间互相转换代码。 Ivy 可以把机器学习模型、工具和库从一个框架转换到另一个框架。核心接口 ivy.transpile 接收针对某个框架编写的函数、类或模块,返回可在目标框架上运行的等价版本,无需手动重写代码。
ivy 可以免费使用吗?用的什么许可证?
ivy 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
ivy 还在维护吗?
活跃维护中。ivy 最近一次提交是在 2026年10月22日。
ivy 适合用来做什么?
在 TensorFlow 项目中复用 PyTorch 模型代码。 在 JAX 或 NumPy 环境中运行基于 PyTorch 的工具库。 无需手动改写即可在不同框架之间迁移机器学习代码。
在哪里获取 ivy?
源代码和安装说明在 GitHub 上:https://github.com/unifyai/ivy

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目