Cifar 100 is implemented in theano using the theanet package. We have managed to get error rates like 35% on the test data, which is state-of-the-art according to these benchmarks.
Get the [tar.gz file] (http://www.cs.toronto.edu/~kriz/cifar-100-python.tar.gz) from the official site and unzip it to the root directory.
python train.py params/0baby.prms [1]
This will train on the training data, (like for ever if you are using the bigger configurations) and
output a pkl
file with the parameters in it, that can be loaded later on. You also get a text file,
if you specify the optional 1 at the end of the command, like 0baby_555555.txt
.
Here 555555
is a random random-seed. (This can be specified in the prms file.)
You can edit the theanet params file to your liking.
python train.py 0baby_555555_80.pkl
You could also give an existing pkl
file as an input in stead of a prms
file. This will initialize the network with those parameters and pick up the
training from there. Although the learning rate could be low. The file
edit_pkl.py
will tell you how to edit the pkl
files before re-training.
python test.py 0baby_555555_80.pkl
This only opens the test
dataset and dumps the intermediate images as the input goes through the CNN.