All Projects → facebookresearch → Supervised Hashing Baselines

facebookresearch / Supervised Hashing Baselines

Licence: other
How should we evaluate supervised hashing

Programming Languages

python
139335 projects - #7 most used programming language

supervised-hashing-baselines

This repository contains code to reproduce the baselines in

How should we evaluate supervised hashing?
Alexandre Sablayrolles, Matthijs Douze, Nicolas Usunier, Hervé Jégou
ICASSP 2017

If you find this code useful in your research then please cite

@article{sablayrolles2017supervisedhashing,
  title={How should we evaluate supervised hashing?},
  author={Sablayrolles, Alexandre and Douze, Matthijs and Usunier, Nicolas and Jégou, Hervé},
  booktitle = {2017 {IEEE} International Conference on Acoustics, Speech and Signal
               Processing, {ICASSP} 2017, New Orleans, LA, USA, March 5-9, 2017},
  pages     = {1732--1736},
  year={2017}
}

Pre-requisites

Install faiss and the requirements:

pip install requirements.txt

Setup

The following code downloads the GIST descriptors extracted from the CIFAR-10 images.

./setup.sh  

To see how the features were extracted, you can take a look at the features/ folder, (you also need the GIST extractor from MIT).

Demo

This code was developed and tested for MacOS 10.12 with Python 2.7. The following script launches all experiments of table 1 on GIST descriptors.

./run.sh

Typical output:

Experiments with 1000 labels and 300 anchors:
One hot encoding: 0.267 mAP (C=16.00) (0.26672553388)
LSH: 0.295 mAP (C=8.00) (0.29518721115)
Topline: 0.337 mAP (C=8.00) (0.33676588748)

Experiments with 5000 labels and 1000 anchors:
One hot encoding: 0.373 mAP (C=64.00) (0.37287632364)
LSH: 0.419 mAP (C=32.00) (0.41861792332)
Topline: 0.480 mAP (C=32.00) (0.47958284901)

Experiment with 59000 labels and 1000 anchors: 0.755 mAP (C=2048.00) (0.75499136667)

License

This repository is licensed under the CC BY-NC 4.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].