edouardoyallon / scatwave

ScatWave is a Torch implementation of scattering using CUDA
http://www.di.ens.fr/~oyallon/
21 stars 5 forks source link

THIS VERSION OF THE SCATTERING IS OBSOLETE

Please check out our new version (pytorch): https://github.com/edouardoyallon/pyscatwave - any version of the Scattering Transform in lua can be considered as obsolete.

Logo

ScatWave

ScatWave is a Torch implementation of 2D scattering using CUDA libraries, designed for images.

Disclaimer

This software belongs to the team DATA @ ENS, its main author is Edouard Oyallon.

How to install

Assuming Torch is already installed on your computer, simply cd in scatwave_pkg, then 'luarocks make' Make sure you have FFTW and cuFFT installed and that the libraries are linked to the software.

Few results...

ScatWave + 3FC = 83.0 on CIFAR 10
ScatWave + 3FC = 56.7 on CIFAR 100
ScatWave + Deepnet = 91.4% on CIFAR10
ScatWave + Deepnet = 69.5% on CIFAR100

Usage

scatwave = require 'scatwave'
x=torch.FloatTensor(128,3,32,32)
scat = scatwave.network.new(3,x:size())
scat_coeff = scat(x) -- or scat(x,1)

You can go to cuda via:
scat=scat:cuda()

Reproducing the paper

Contributors

Edouard Oyallon. Contacts: firstname.lastname@ens.fr

Team DATA - Ecole Normale Supérieure

Acknowledgements

The author is thankful to Sergey Zagoruyko for helpfull discussions, codes and enlightments. Many parts of this work are based on codes that he shared, and this had a major impact on this work. I would like to thank also Mathieu Andreux, Eugene Belilovsky, Carmine Cella, Michael Eickenberg for helpful discussions.