Home
Login

Ivy 是一個開源的機器學習程式碼轉換工具,支援在 PyTorch、TensorFlow、JAX 和 NumPy 等框架間轉換程式碼,同時保持完整的功能性。

NOASSERTIONPython 14.2kivy-llc Last Updated: 2025-06-13

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 和其他開源項目的支持和感謝。