It took me a while to get this code base up and running on a MacBook Pro, as it seems to have a few relatively old dependencies (and some dependencies not in the requirements file). I thought I'd post this here in case it's of use to anybody else.
When I ran the code from the requirements file to install a past commit of brax, I found that some of the brax files were missing (e.g. the brax/experimental folder), which produced error messages, and so I ended up performing the following (admittedly convoluted) steps:
I forked brax to my own github repo
I then git cloned the forked brax repo to my local computer
I then reset the cloned local repo to the relevant past commit: git reset --hard 0ebb332
I then added the local brax repo to PYTHONPATH so it could be found by mxt: export PYTHONPATH=‘/path/to/brax’
I needed to downgrade from python 3.11 to python 3.9, so I could access jaxlib 0.1.71.
Instead of running the requirements file, I manually installed the following packages:
pip install jaxlib==0.1.71
pip install flax==0.3.6
pip install optax==0.0.9
pip install tensorflow-probability==0.14.0
pip install jax==0.2.21 (I installed this last because if I did it first, flax and optax would uninstall it and re-install a more recent version)
I then installed the following packages to circumvent errors:
It took me a while to get this code base up and running on a MacBook Pro, as it seems to have a few relatively old dependencies (and some dependencies not in the requirements file). I thought I'd post this here in case it's of use to anybody else.
When I ran the code from the requirements file to install a past commit of brax, I found that some of the brax files were missing (e.g. the brax/experimental folder), which produced error messages, and so I ended up performing the following (admittedly convoluted) steps:
I needed to downgrade from python 3.11 to python 3.9, so I could access jaxlib 0.1.71.
Instead of running the requirements file, I manually installed the following packages:
I then installed the following packages to circumvent errors: