Skip to content

Latest commit

 

History

History
56 lines (45 loc) · 2.01 KB

README.md

File metadata and controls

56 lines (45 loc) · 2.01 KB

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