This implements the DenseNet architecture introduced in Densely Connected Convolutional Network.The original Torch implementation can be found at https://github.com/liuzhuang13/DenseNet, and please find more details about DenseNet there. The only difference here is that we write a customed container "DenseLayer.lua" to implement the dense connections in a more memory efficient way. This leads to ~25% reduction in memory consumption during training, while keeps the accuracy and training time the same.
Add the files densenet_lite.lua and DenseLayer.lua to the folder models/;
Insert require 'models/DenseLayer at Line.89 of models/init.lua, if you need to use multiple GPUs;
Change the learning rate schedule at function learningRate() in train.lua (line 171/173), from decay = epoch >= 122 and 2 or epoch >= 81 and 1 or 0 to decay = epoch >= 225 and 2 or epoch >= 150 and 1 or 0