top of page
Nwaamaka Iduwe

Machine Learning Framework Development

Recently, I have been contributing to a new Python framwork called Ivy by a YC23 start up called Unify AI. Ivy is an open-source machine learning framework that offers streamlined model optimization, code versatility, and framework independence. Becoming a voluntary contributor to this project in September 2023, I was privileged to contribute two functions to the project for the NumPy frontend and the JAX frontend:


1. Numpy.trace: this code module implements the trace function within the context of the NumPy library. The trace function, in linear algebra, computes the sum of diagonal elements in a matrix or an array. It is commonly used to find the trace of a matrix, which is the sum of its diagonal elements. The implementation includes tests to validate its functionality across different environments such as Jax, PyTorch, Tensorflow, Paddle, and other supported backends alongside NumPy. These tests ensure the accurate computation of the trace function across various platforms for consistent and reliable results. Below, I have included the test logic and test function for this implementation.


Trace test logic:

Trace test function:

You can find this Trace implementation on GitHub here.


2. Jax.numpy.argmin: this code module implements the argmin function specifically tailored for the Jax.numpy frontend. The argmin function, in mathematical terms, is designed to find the index of the minimum value within an array along a specified axis. Additionally, it contains a test function to validate its functionality across multiple backends, including Jax, Numpy, PyTorch, Tensorflow, and Paddle, ensuring consistent and accurate performance.


Argmin test logic:


Argmin test function:

You can find this Argmin implementation on GitHub here.

12 views0 comments

Recent Posts

See All

Comments


bottom of page