Awesome
3D DenseNet in torch
3D DenseNet is using 3D Convolutional(VolumetricConvolution in torch), Pooling, BatchNormalization layers with 3D kernel. This implements is based on DenseNet and fb.resnet.torch. DenseNet introduced in the paper "Densely Connected Convolutional Networks" (CVPR 2017, Best Paper Award)
Requirements
See the installation instructions for a step-by-step guide.
- luarock install hdf5 nninit
- Download the ModelNet40 dataset and hdf5 format (Google Drive, Baidu Cloud Disk)
Dataset
- Download data through above link;
- and modify the file path in
train.list
andtest.list
file; - then modify the
datadir
variable inexamples/run_modelnet40.sh
.
Training
See the training recipes for addition examples.
For Modelnet40, just run shell examples/run_modelnet40.sh 0,1
, 0,1
is the GPU ids with multi-GPU supported.
cd examples
./run_modelnet40_h5.sh 0,1
Trained models
modelnet40_60x validation error rate
Network | Top-1 error | Top-5 error |
---|---|---|
Voxnet | 13.74 | 1.92 |
DenseNet-20-12 | 12.99 | 2.03 |
DenseNet-30-12 | 12.11 | 1.94 |
DenseNet-30-16 | 11.08 | 1.61 |
DenseNet-40-12 | 11.57 | 1.78 |
Notes
This implementation differs from the ResNet paper in a few ways:
3D Convolution: We use the VolumetricConvolution to implement 3D Convolution.