Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
generate_jps_dataset generate_dataset bug Sep 17, 2016 update of project page link Sep 12, 2018
cfn_rec_test.m First Commit Sep 12, 2016
permutations_100_max.bin permutaion set is replaced Dec 22, 2016
permutations_701.bin jigsaw++ Feb 20, 2018
solver_cfn_rec.prototxt First Commit Sep 12, 2016
train_val_cfn_jps++.prototxt jigsaw++ Feb 20, 2018
train_val_cfn_jps.prototxt First Commit Sep 12, 2016
train_val_cfn_rec.prototxt First Commit Sep 12, 2016

##Unsupervised Learning of Visual Representions by solving Jigsaw Puzzles.

This is the author implementaion of Unsupervised Learning of Visual Representaions by Solving Jigsaw Puzzles.

    Author = {Mehdi Noroozi and Paolo Favaro},
    Title = {Unsupervised Learning of Visual Representions by solving Jigsaw Puzzles},
    Booktitle = {ECCV},
    Year = {2016}


This software has all the same requirements as Caffe.

Training Jigsaw Puzzle Solver

At first generate the imagenet dataset in a way described in paper. Make the data generation

cd generate_jps_dataset

Execute data generation

generate_jps_dataset /path/to/original/imagenet/lmdb/dataset /output/peth/to/jps/datastet

The first argument is the path to ImageNet lmdb dataset includes shuffled images with original size. Caffe indludes scripts to generate this dataset.

Then you need to make the customized Caffe version that generates puzzles on the fly.

cd caffe-maste-jps
make all matcaffe

To train jigsaw puzzle solver use solver_cfn_jps.prototxt, you need to set dataset produced above in train_val_cfn_jps.prototxt.

To train CFN for recognition use solver_cfn_rec.prototxt, you need to set ImageNet lmdb path which includes resized 256x256 images in train_val_cfn_rec.prototxt.

You can use cfn_jps_test.m and cfn_rec_test.m to test the trained models in matlab. The trained models are available on the project page.

To reproduce ImageNet classfication experiment results(Table 2), you need to train CFN for recognition initialized with jigsaw puzzle solver weights and lock desired convolutinal layers.

You can’t perform that action at this time.