Deep Learning

Microsoft Cognitive Toolkit (CNTK) – toolkit for distributed deep learning

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
TensorFlowA very popular Deep Learning framework
PyTorchTensors and Dynamic neural networks in Python
KerasHigh-level neural networks API
fastaiSimplifies training fast and accurate neural nets using modern best practices
PyTensorLibrary for fast numerical computation
ElephasDistributed deep learning with Keras and Spark
ChainerPowerful, flexible, and intuitive framework for neural networks
CaffeConvolutional Architecture for Fast Feature Embedding
TFlearnDeep learning library featuring a higher-level API for TensorFlow
MXNetFlexible and efficient library
CNTKDistributed deep learning
NeupyPython library for Artificial Neural Networks and Deep Learning

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments