ICLR best paper: Spherical CNNs
Paper link: https://arxiv.org/abs/1801.10130
GITHUB address: https://github.com/zhixuanli/s2cnn
Chinese explanation address:
Introduction:
In this paper we introduce the building blocks for constructing spherical CNNs. We propose a definition for the spherical cross-correlation that is both expressive and rotation-equivariant. The spherical correlation satisfies a generalized Fourier theorem, which allows us to compute it efficiently using a generalized (non-commutative) Fast Fourier Transform (FFT) algorithm. We demonstrate the computational efficiency, numerical accuracy, and effectiveness of spherical CNNs applied to 3D model recognition and atomization energy regression.
The following is the detailed code configuration process:
1. Operating environment configuration
1.1 Install Anaconda
Download address: https://www.anaconda.com/download/
Installation reference: To Python Beginners: Anaconda Getting Started Guide
Note that you need to add anaconda to the environment variable, that is, in the /home/yourname directory, enter (if you are using bash, enter the following command, otherwise change it to the corresponding .zshrc):
vim .bashrc
Then add at the end of the file:
export PATH=/home/yourname/anaconda3/bin:$PATH
Then enter the following command to make the environment variable take effect immediately:
source .bashrc
(not required)
Install the virtual environment and switch to the virtual environment, reference: https://segmentfault.com/a/1190000005828284
1.2 Install Pytorch
Address: http://pytorch.org
Please choose the installation method that suits you, here we choose to run the following command:
conda install pytorch torchvision cuda91 -c pytorch
1.3 Install CUPY
Address: https://github.com/cupy/cupy
installation method:
pip install cupy --user
or conda install cupy
1.4 Install lie_learn
Address: https://github.com/AMLab-Amsterdam/lie_learn.git
Enter the following command:
git clone https://github.com/AMLab-Amsterdam/lie_learn.git
python setup.py install
1.5 Install pynvrtc
input the command:
pip install pynvrtc --user
2. Install Spherical CNNs
Switch to the s2cnn folder and execute:
python setup.py install
In the middle, you need to get J_dense_0-278.npy from Google Drive , um... find a way by yourself