Skip to content

ZichenMiao/RotDCF

Repository files navigation

ROTDCF: Decomposition Of Convolutional Filters For Rotation-Equivariant Deep Neural Netowrks

Code for paper: ROTDCF: Decomposition Of Convolutional Filters For Rotation-Equivariant Deep Neural Netowrks[paper link]

This repo implements the rotMNIST experiment in Section 4.1(ref. Table 3 and Table A.3).

Requirements

pytorch>=1.0

numpy>=1.18

matplotlib

Dataset

Download processed rotMNIST dataset from here. Unzip it to this work directory.

Change data_path and save_path variables in dataset.py.

Notebook for Rotation Equivariance

'Demo for Rotataion Equivariance' shows the main property of proposed method. Go through the notebook and you will observe rotation equivariance in output feature maps, e.g.,

Test Pretrained Models

Test 6-layer CNN(M=32) [Acc=96.87%]

./test.sh CNN 6

Test 6-layer RotDCF(M=16, =8, K=5, =5) [Acc=99.01%]

change M=16, =8, K=5, and =5 in test.sh, and then,

./test.sh RotDCF 6 

Test 6-layer DCF(M=32, K=5) [Acc=96.94%]

change K=5 in test.sh, and then,

./test.sh DCF 6 

Train New Models

Train 6-layer CNN(M=32)

./train.sh CNN 6

Train 6-layer RotDCF(M=16, =8$, K=5, =5)

change M=16, =8, K=5, and =5 in train.sh, and then,

./train.sh RotDCF 6 

Train 6-layer DCF(M=32, K=5)

change K=5 in train.sh, and then,

./train.sh DCF 6 

About

Code for ICLR19 paper: 'RotDCF: Decomposition of Convolutional Filters for Rotation Equivariant Deep Networks'

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published