EagerPy: Writing Code That Works Natively with PyTorch, TensorFlow, JAX, and NumPy
This solves the framework lock-in problem for library developers and users in the machine learning community, though it is incremental as it builds on existing frameworks.
EagerPy tackles the problem of library developers needing to support multiple deep learning frameworks by enabling code that works natively with PyTorch, TensorFlow, JAX, and NumPy, reducing code duplication and allowing users to switch frameworks easily.
EagerPy is a Python framework that lets you write code that automatically works natively with PyTorch, TensorFlow, JAX, and NumPy. Library developers no longer need to choose between supporting just one of these frameworks or reimplementing the library for each framework and dealing with code duplication. Users of such libraries can more easily switch frameworks without being locked in by a specific 3rd party library. Beyond multi-framework support, EagerPy also brings comprehensive type annotations and consistent support for method chaining to any framework. The latest documentation is available online at https://eagerpy.jonasrauber.de and the code can be found on GitHub at https://github.com/jonasrauber/eagerpy.