hagaygarty/mdCNN

MATLAB toolbox implementing Convolutional Neural Networks (CNN) for 2D and 3D inputs
3.5K Downloads
Updated 10 Dec 2018

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
https://groups.google.com/forum/#!forum/mdcnn-multidimensional-cnn-library-in-matlab

Any other issues you can contact me at hagaygarty@gmail.com

Please use Matlab 2016 and above

Cite As

Hagay Garty (2024). hagaygarty/mdCNN (https://github.com/hagaygarty/mdCNN), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with R2016a and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
2.2.0.0

regression support

2.0.0.0

Version 2, add batchNorm/user-defined regression layers

1.0.0.0

updated description
typo
.
add 1d demo
Description update
update description
typos

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.