Skip to content

About

JAX implementations of robust neural networks from the ACFR.

Resources

Stars

11 stars

Watchers

2 watching

Forks

Latest commit

 

History

324 Commits

Folders and files

Repository files navigation

Robust Neural Networks

This repository contains a collection of robust neural network architectures developed at the Australian Centre For Robotics (ACFR). All networks are implemented in Python with PyTorch and/or JAX.

Implemented network architectures currently include:

This repository and README are a work-in-progress. More network architectures, tutorials, and documentation will be added as we go along.

Installation for Development

All dependencies are managed with uv. To install uv, run the following (Mac/Linux, use WSL2 for Windows).

curl -LsSf https://astral.sh/uv/install.sh | sh

Then, to install the package and all of its dependencies, open a terminal in the root directory of this repository and enter the following command.

./install.sh

This will create a Python virtual environment at ./.venv, install the pinned Python version, and install all dependencies. The script checks whether CUDA is available on your machine and installs the corresponding JAX/PyTorch version accordingly. To check your installation, run the test suite:

./run_tests.sh

A Note on Dependencies

Dependencies are declared in pyproject.toml and are split into two sets:

  • Core dependencies: required by the robustnn package itself.
  • Extra dependencies for examples: all additional dependencies needed to run the demos in examples/ and the scripts in test/.

By default, the install.sh script installs both the core and extra dependencies, and checks for CUDA to install the correct versions of jax and torch. If you would rather just install the robustnn package itself, do not run the install.sh script, and instead run one of the following.

uv sync --extra cpu     # CPU only
uv sync --extra cuda13  # GPU with CUDA 13

Running an Example

Once you have installed the package as above, use uv run to run any of the scripts in the examples/ folder. For example, from the root directory of the project, run:

uv run python examples/sandwich_mnist.py

Contact

Please raise an issue if you have any questions, and we'll do our best to get back to you as soon as we can!

About

JAX implementations of robust neural networks from the ACFR.

Resources

Stars

11 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages