/jaxton

100 exercises to learn JAX

Apache License 2.0Apache-2.0

JaxTon

💯 JAX exercises

License GitHub Twitter

Mission 🚀

To provide 100 JAX exercises over different sections structured as a course or tutorials to teach and learn for beginners, intermediates as well as experts.

JAX

The JAX package in Python is a library for high performance and efficient machine learning research.

It is commonly used for various deep learning tasks and runs seamlessly on CPUs, GPUs as well as TPUs.

Exercises 📖

There are a total of 100 JAX exercises divided into 10 sets of Jupyter Notebooks with 10 exercises each. It is recommended to go through the exercises in order but you may start with any set depending on your expertise.

✅ Structured as exercises & tutorials - Choose your style
✅ Suitable for beginners, intermediates & experts - Choose your level
✅ Available on Colab, Kaggle, Binder & GitHub - Choose your platform
✅ Supports running on CPU, GPU & TPU - Choose your backend

Set 01 • JAX Introduction • Beginner • Exercises 1-10

Style Colab Kaggle Binder GitHub
Exercises 1st February, 2022 1st February, 2022 1st February, 2022 1st February, 2022
Solutions 1st February, 2022 1st February, 2022 1st February, 2022 1st February, 2022

Set 02 • Data Operations • Beginner • Exercises 11-20

Style Colab Kaggle Binder GitHub
Exercises 4th February, 2022 4th February, 2022 4th February, 2022 4th February, 2022
Solutions 4th February, 2022 4th February, 2022 4th February, 2022 4th February, 2022

Set 03 • Pseudorandom Numbers • Beginner • Exercises 21-30

Style Colab Kaggle Binder GitHub
Exercises 7th February, 2022 7th February, 2022 7th February, 2022 7th February, 2022
Solutions 7th February, 2022 7th February, 2022 7th February, 2022 7th February, 2022

Set 04 • Just-In-Time (JIT) Compilation • Beginner • Exercises 31-40

Style Colab Kaggle Binder GitHub
Exercises 10th February, 2022 10th February, 2022 10th February, 2022 10th February, 2022
Solutions 10th February, 2022 10th February, 2022 10th February, 2022 10th February, 2022

Set 05 • Control Flows • Beginner • Exercises 41-50

Style Colab Kaggle Binder GitHub
Exercises 13th February, 2022 13th February, 2022 13th February, 2022 13th February, 2022
Solutions 13th February, 2022 13th February, 2022 13th February, 2022 13th February, 2022

Set 06 • Automatic Differentiation • Intermediate • Exercises 51-60

Style Colab Kaggle Binder GitHub
Exercises 16th February, 2022 16th February, 2022 16th February, 2022 16th February, 2022
Solutions 16th February, 2022 16th February, 2022 16th February, 2022 16th February, 2022

Set 07 • Automatic Vectorization • Intermediate • Exercises 61-70

Style Colab Kaggle Binder GitHub
Exercises 19th February, 2022 19th February, 2022 19th February, 2022 19th February, 2022
Solutions 19th February, 2022 19th February, 2022 19th February, 2022 19th February, 2022

Set 08 • Pytrees • Intermediate • Exercises 71-80

Style Colab Kaggle Binder GitHub
Exercises 22nd February, 2022 22nd February, 2022 22nd February, 2022 22nd February, 2022
Solutions 22nd February, 2022 22nd February, 2022 22nd February, 2022 22nd February, 2022

Set 09 • Neural Networks • Expert • Exercises 81-90

Style Colab Kaggle Binder GitHub
Exercises 25th February, 2022 25th February, 2022 25th February, 2022 25th February, 2022
Solutions 25th February, 2022 25th February, 2022 25th February, 2022 25th February, 2022

Set 10 • Capstone Project • Expert • Exercises 91-100

Style Colab Kaggle Binder GitHub
Exercises 28th February, 2022 28th February, 2022 28th February, 2022 28th February, 2022
Solutions 28th February, 2022 28th February, 2022 28th February, 2022 28th February, 2022

The Jupyter Notebooks can also be run locally by cloning the repo and running on your local jupyter server.

git clone https://github.com/vopani/jaxton.git
python3 -m pip install notebook
jupyter notebook

P.S. The notebooks will be periodically updated to improve the exercises and support the latest version.

Contribution 🛠️

Please create an Issue for any improvements, suggestions or errors in the content.

You can also tag @vopani on Twitter for any other queries or feedback.

Credits 🙏

JAX

License 📋

This project is licensed under the Apache License 2.0.