mdCNN is a Matlab framework for Convolutional Neural Network (CNN) supporting 1D, 2D and 3D kernels.
The network is Multidimensional, kernels are in 3D and convolution is done in 3D. It is suitable for volumetric input such as CT / MRI / video sections. But can also process 1d/2d images.
user-defined supports all the major features such as dropout, padding, stride, max pooling, L2 regularization, momentum, cross entropy/MSE, softmax, regression, classification and batch normalization layer.
The framework Its completely written in Matlab, no dependencies are needed. It is pretty optimized when training or testing all of the CPU cores are participating using Matlab Built-in Multi-threading.
There are several examples for training a network on MNIST, CIFAR10, 1D CNN, autoencoder for MNIST images, and 3dMNIST - a special enhancement of MNIST dataset to 3D volumes.
MNIST Demo will download the dataset and start the training process. It will reach 99.2% in several minutes. CIFAR10 demo reaches about 80% but it takes longer to converge.
For 3D volumes there is a demo file that will create a 3d volume from each digit in MNIST dataset, then starts training on the 28x28x28 samples. It will reach similar accuracy as in the 2d demo
This framework was used in a project classifying Vertebra in a 3D CT images.
To run MNIST demo: Go into the folder 'Demo/MNIST', Run 'demoMnist.m' file. After 15 iterations it will open a GUI where you can test the network performance. In addition layer 1 filters will be shown.
To run MNIST3D demo: Go into the folder 'Demo/MNIST3d', and run 'demoMnist3D.m' file.
Check the 'mdCNN documentation.docx' file for more specification on how to configure a network
For general questions regarding network design and training, please use this forum
Any other issues you can contact me at email@example.com
Please use Matlab 2016 and above
Hagay Garty (2022). hagaygarty/mdCNN (https://github.com/hagaygarty/mdCNN), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!