bispectral-networks
bispectral-networks copied to clipboard
Official PyTorch implementation of Bispectral Neural Networks, ICLR 2023
Bispectral Neural Networks
This repository is the official implementation of Bispectral Neural Networks.
Installation
To install the requirements and package, run:
pip install -r requirements.txt
python setup.py install
Datasets
To download the datasets, run:
wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=10w3fKdO0eWEe2KxZxpf8YFndXdCNNR8b' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=10w3fKdO0eWEe2KxZxpf8YFndXdCNNR8b" -O datasets.zip
rm -rf /tmp/cookies.txt
unzip datasets.zip
rm -r datasets.zip
If your machine doesn't have wget, follow these steps:
- Download the zip file here.
- Place the file in the top node of this directory, i.e. in
bispectral-networks/. - Run:
unzip datasets.zip rm -r datasets.zip
Training
To train the models in the paper, run the following commands.
python train.py --config rotation_experiment
python train.py --config translation_experiment
To run on GPU, add the following argument, with the integer specifying the device number, i.e.:
--device 0
The full set of hyperparameters and training configurations are specified in the config files in the configs/ folder.
To view learning curves in Tensorboard, run:
tensorboard --logdir logs/
Pre-trained Models
The pre-trained models are included in the repo, in the following locations:
logs/rotation_model/
logs/translation_model/
Results and Figures
All results and figures from the paper are generated in the Jupyter notebooks located at:
notebooks/rotation_experiment_analysis.ipynb
notebooks/translation_experiment_analysis.ipynb
License
This repository is licensed under the MIT License.