From 77b77efd65e1515ceaa35b17ff9861d6d58ccd6f Mon Sep 17 00:00:00 2001 From: Lev Kozlov Date: Tue, 17 Sep 2024 21:41:54 +0900 Subject: [PATCH] feat: add patches and update readme --- README.md | 26 +++++++++++++------------- benchmarks/README.md | 10 ++++++++-- environment.yml | 3 +++ 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 346d9b3..2ee6241 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,14 @@ - + +[![CI](https://img.shields.io/github/actions/workflow/status/based-robotics/jaxadi/build.yaml?branch=master)](https://github.com/based-robotics/jaxadi/actions) +[![PyPI version](https://img.shields.io/pypi/v/jaxadi?color=blue)](https://pypi.org/project/jaxadi/) +[![PyPI downloads](https://img.shields.io/pypi/dm/jaxadi?color=blue)](https://pypistats.org/packages/jaxadi)

JAXADI Logo

- **JaxADi** is a powerful Python library designed to bridge the gap between `casadi.Function` and JAX-compatible functions. By leveraging the strengths of both CasADi and JAX, JAXADI opens up exciting opportunities for building highly efficient, batchable code that can be executed seamlessly across CPUs, GPUs, and TPUs. JAXADI can be particularly useful in scenarios involving: @@ -16,17 +18,17 @@ JAXADI can be particularly useful in scenarios involving: - Machine learning models with complex dynamics - Large-scale numerical optimizations - ## Installation You can install JAXADI using pip: + ```bash pip install jaxadi ``` -For a complete environment setup, we recommend using Conda/Mamba: +For a complete environment setup for examples, we recommend using Conda/Mamba: ```bash mamba env create -f environment.yml @@ -67,24 +69,23 @@ output = jax_fn(input_x, input_y) JAXADI comes with several examples to help you get started: -1. [Basic Translation](examples/00_translate.py): Learn how to translate CasADi functions to JAX. +1. [Basic Translation](examples/00_translate.py): Learn how to translate CasADi functions to JAX. -2. [Lowering Operations](examples/01_lower.py): Understand the lowering process in JaxADi. +2. [Lowering Operations](examples/01_lower.py): Understand the lowering process in JaxADi. -3. [Function Conversion](examples/02_convert.py): See how to fully convert CasADi functions to JAX. +3. [Function Conversion](examples/02_convert.py): See how to fully convert CasADi functions to JAX. -4. [Pendulum Rollout](examples/03_pendulum_rollout.py): Batched rollout of the nonlinear passive nonlinear pendulum +4. [Pendulum Rollout](examples/03_pendulum_rollout.py): Batched rollout of the nonlinear passive nonlinear pendulum -5. [Pinocchio Integration](examples/04_pinocchio.py): Explore how to convert Pinocchio-based CasADi functions to JAX. +5. [Pinocchio Integration](examples/04_pinocchio.py): Explore how to convert Pinocchio-based CasADi functions to JAX. 6. [MJX Comparison](examples/05_mjx.py): Compare the transformed Pinnocchio forward kinematics with one provided by Mujoco MJX > **Note**: To run the Pinocchio and MJX examples, ensure you have them properly installed in your environment. +## Performance Benchmarks - +The process of benchmarking and evaluating the performance of Jaxadi is described in the [benchmarks](benchmarks/README.md) directory.