MATLAB toolbox implementing Convolutional Neural Networks (CNN) for 2D and 3D inputs
You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
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 (2026). hagaygarty/mdCNN (https://github.com/hagaygarty/mdCNN), GitHub. Retrieved .
Categories
Find more on Recognition, Object Detection, and Semantic Segmentation in Help Center and MATLAB Answers
General Information
- Version 2.2.0.0 (92.4 KB)
-
View License on GitHub
MATLAB Release Compatibility
- Compatible with R2016a and later releases
Platform Compatibility
- Windows
- macOS
- Linux
Versions that use the GitHub default branch cannot be downloaded
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 2.2.0.0 | regression support |
||
| 2.0.0.0 | Version 2, add batchNorm/user-defined regression layers |
||
| 1.0.0.0 |
updated description
|
