This project prvides the Torch solution for the paper Recurrent Convolutional Neural Network for object recognition. The code is heavily inspired by facebook/fb.resnet.torch.
#Requirements
-
A GPU machine with Torch and its cudnn bindings. See Installing Torch.
-
Download Torch version cifar10 and svhn datasets, and put them to rcnn/data/cifar/ and rcnn/data/svhn/, respectively.
#How to use Run main.lua with options to train RCNN models.
An cifar10 example with error rate 4.59% is:
CUDA_VISIBLE_DEVICES=0,1 th main.lua -dataset cifar10 -model rcl3_large -nGPU 2 -nThreads 4 -lr 0.1 -nChunks 100 -batchSize 64
An svhn example with error rate 1.5% is:
CUDA_VISIBLE_DEVICES=0,1,2,3 th main.lua -dataset svhn -model rcl3 -nGPU 4 -nThreads 8 -lr 0.1 -nChunks 100 -batchSize 256
To see all options and their default value, run:
th main.lua -help
#Code introduction
-
main.lua: Overall procedure to run the code.
-
dataset.lua: Prepare mini-batchs from specified datasets, including possible data augmentation.
-
data.lua: Initiate the dataset and setup multi-thread data loaders.
-
model.lua: Initiate the network models. Model files are placed in rcnn/models/.
-
train.lua: Train and test network models.
-
parse.lua: Parse the input options.