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 networks |
| tinygrad | Compact, lightweight deep learning framework |
| PyTorch Lightning | Framework for scaling PyTorch training workflows |
| JAX | High-performance numerical computing and ML library |
| PyTensor | Library for fast numerical computation |
| MindSpore | Framework for training and deploying neural networks |
| Elephas | Distributed deep learning with Keras and Spark |
| Chainer | Powerful, flexible, and intuitive framework for neural networks |
| Equinox | Neural network library for building flexible models with JAX |
| 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 neural networks and deep learning |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.