Home
Login

Ivy is an open-source machine learning code conversion tool that supports converting code between frameworks such as PyTorch, TensorFlow, JAX, and NumPy while maintaining full functionality.

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

Ivy Project Introduction

Project Overview

Ivy is an open-source project designed to simplify the process of converting machine learning (ML) code between different frameworks while maintaining full functionality. With Ivy, users can easily create optimized graph-based models and functions in native frameworks like PyTorch and TensorFlow.

Key Features

  • Code Conversion: Ivy's transpiler allows users to convert code, including models, tools, and libraries, between different ML frameworks.
  • Graph-Based Model Creation: Using ivy.trace_graph, users can create optimized graph-based models and functions in any native framework.

Installation

  • Install with pip: The easiest way to install Ivy is to use pip to install the latest version from PyPI.
  • Install from Source: If users want to take advantage of the latest changes, they can install the source code from Ivy's GitHub repository. However, please note that this method may not guarantee that all features will work as expected.

Supported Frameworks

Ivy currently supports conversion from and to the following frameworks:

  • PyTorch
  • TensorFlow
  • JAX
  • NumPy

The Ivy team is constantly working to add support for more frameworks. Users can suggest desired source/target frameworks on Ivy's Discord server.

Quick Start

  • View the Quickstart Notebook: Ivy provides a Quickstart notebook to help users quickly understand Ivy's main features and usage.
  • View Examples: Ivy's examples page contains several conversion examples of models and libraries, demonstrating how to convert code between PyTorch, JAX, TensorFlow, and NumPy.

Using Ivy

Ivy provides some example code to help users get started with Ivy. Users can find a wider range of demos and tutorials on Ivy's examples page, showcasing more use cases of Ivy.

How Ivy Works

Ivy, as a transpiler, allows users to use code from other frameworks (or other versions of the same framework) by adding a single line of code. Ivy's transpiler can perform code conversion eagerly or lazily, depending on whether the provided input is a class/function or a module (library).

Documentation and Contribution

  • Documentation: Users can find detailed documentation, including API references, usage guides, and more, on Ivy's Docs page.
  • Contribution: Ivy welcomes contributions from all users, whether it's writing code, fixing bugs, or sharing feedback. Users can view the tasks to be completed on Ivy's Open Tasks page and learn more in the Contributing guide.

Citation

If users are using Ivy for their work, please remember to include Ivy's accompanying paper in the references to show support and appreciation for Ivy and other open-source projects.