The Microsoft Cognitive Toolkit is an open source unified deep learning toolkit that describes neural networks as a series of computational steps via a directed graph.
In this directed graph, leaf nodes represent input values or network parameters, while other nodes represent matrix operations upon their inputs. CNTK allows users to easily realize and combine popular model types such as feed-forward DNNs, convolutional nets (CNNs), and recurrent networks (RNNs/LSTMs). It implements stochastic gradient descent (SGD, error backpropagation) learning with automatic differentiation and parallelization across multiple GPUs and servers.
CNTK requires OpenMPI 1.10.x to be installed on your system.
Key Features
- Optimized, built-in components:
- Components can handle multi-dimensional dense or sparse data from Python, C++ or BrainScript.
- FFN, CNN, RNN/LSTM, Batch normalization, Sequence-to-Sequence with attention and more.
- Reinforcement learning, generative adversarial networks, supervised and unsupervised learning.
- Ability to add new user-defined core-components on the GPU from Python.
- Automatic hyperparameter tuning.
- Built-in readers optimized for massive datasets.
- Efficient resource usage:
- Parallelism with accuracy on multiple GPUs/machines via 1-bit SGD and Block Momentum.
- Memory sharing and other built-in methods to fit even the largest models in GPU memory.
- Express your own networks:
- Full APIs for defining networks, learners, readers, training and evaluation from Python, C++ and BrainScript.
- Evaluate models with Python, C++, C# and BrainScript.
- Interoperation with NumPy.
- Both high-level and low-level APIs available for ease of use and flexibility.
- Automatic shape inference based on your data.
- Fully optimized symbolic RNN loops (no unrolling needed).
Website: www.microsoft.com
Support: Documentation, GitHub Code Repository, Gitter
Developer: Microsoft
License: MIT License
CNTK is written in C++. Learn C++ with our recommended free books and free tutorials.
Related Software
| Deep Learning with Python | |
|---|---|
| TensorFlow | A very popular Deep Learning framework |
| PyTorch | Tensors and Dynamic neural networks in Python |
| Keras | High-level neural networks API |
| fastai | Simplifies training fast and accurate neural nets using modern best practices |
| PyTensor | Library for fast numerical computation |
| Elephas | Distributed deep learning with Keras and Spark |
| Chainer | Powerful, flexible, and intuitive framework for neural networks |
| Caffe | Convolutional Architecture for Fast Feature Embedding |
| TFlearn | Deep learning library featuring a higher-level API for TensorFlow |
| MXNet | Flexible and efficient library |
| CNTK | Distributed deep learning |
| Neupy | Python library for Artificial Neural Networks and Deep Learning |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

