/DenseNet-pytorch

Implementation of DenseNets Using PyTorch

Primary LanguagePythonMIT LicenseMIT

A PyTorch Implementation of Densely Connected Convolutional Networks (DenseNets)

This repository is developed using pytorch 0.2.0.

The Densely Connected Convolutional Networks has bagged best paper award in CVPR 2017. Official implementation and oral presentation of this paper can be found here and here respectively.

Results using DenseNet

We tried two versions of DenseNet, densenet-40 for C10 and densenet-100-BC for C10+. The official results for these settings are shown in figure below:

This implementation is achieving same results (error rate of 4.51) for C10+ using densenet-100-BC while for C10 using densenet-40 we are getting error rate of 7.91.

The error rate graph for C10+ using densenet-100-BC is:

The error rate graph for C10 using densenet-40 is:

How to use this repository

You have to run train.py

python train.py

Any modifcation in densenet architecture can be made in train.py itself. More information about implementation can be found in files themselves. As a overview, train.py trains the model, densenet.py defines the densenet, data_utils.py and train_utils.py are supporting files. Three graphs showing accuracy, error rate and loss are updated with each epoch. Training log is also updated with each epoch in a .csv file.

In case of any issue feel free to contact me.