Home
Login

Ivy是一个开源的机器学习代码转换工具,支持在PyTorch、TensorFlow、JAX和NumPy等框架间转换代码,同时保持完整的功能性。

NOASSERTIONPython 14.2kivy-llcivy Last Updated: 2025-06-26

Ivy项目介绍

项目概述

Ivy是一个开源项目,旨在简化机器学习(ML)代码在不同框架之间的转换过程,同时保持完整的功能性。通过Ivy,用户可以轻松地在PyTorch、TensorFlow等原生框架中创建优化的图基模型和功能。

主要功能

  • 代码转换:Ivy的transpiler允许用户在不同ML框架之间转换代码,包括模型、工具和库。
  • 图基模型创建:使用ivy.trace_graph,用户可以在任何原生框架中创建优化的图基模型和函数。

安装方法

  • 使用pip安装:最简单的安装方式是使用pip从PyPI安装Ivy的最新版本。
  • 从源代码安装:如果用户希望利用最新的更改,可以从Ivy的GitHub仓库安装源代码。但请注意,这种方式可能无法保证所有功能都按预期工作。

支持的框架

Ivy目前支持从和向以下框架进行转换:

  • PyTorch
  • TensorFlow
  • JAX
  • NumPy

Ivy团队正在不断努力添加对更多框架的支持,用户可以在Ivy的Discord服务器上提出希望支持的源/目标框架建议。

快速入门

  • 查看Quickstart笔记本:Ivy提供了一个Quickstart笔记本,帮助用户快速了解Ivy的主要功能和用法。
  • 查看示例:Ivy的示例页面包含了多个模型和库的转换示例,展示了如何在PyTorch、JAX、TensorFlow和NumPy之间转换代码。

使用Ivy

Ivy提供了一些示例代码,以帮助用户开始使用Ivy。用户可以在Ivy的示例页面上找到更广泛的演示和教程,展示Ivy的更多用例。

Ivy的工作原理

Ivy作为一个transpiler,允许用户通过添加一行代码来使用其他框架(或同一框架的其他版本)中的代码。Ivy的transpiler可以积极地(eagerly)或懒惰地(lazily)进行代码转换,具体取决于提供的输入是类/函数还是模块(库)。

文档和贡献

  • 文档:用户可以在Ivy的Docs页面上找到详细的文档,包括API参考、使用指南等。
  • 贡献:Ivy欢迎所有用户的贡献,无论是编写代码、修复bug还是分享反馈。用户可以在Ivy的Open Tasks页面上查看待完成的任务,并在Contributing指南中了解更多信息。

引用

如果用户在使用Ivy进行工作时,请记得在参考文献中包含Ivy的伴随论文,以表示对Ivy和其他开源项目的支持和感谢。

Star History Chart