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 networks
tinygradCompact, lightweight deep learning framework
PyTorch LightningFramework for scaling PyTorch training workflows
JAXHigh-performance numerical computing and ML library
PyTensorLibrary for fast numerical computation
MindSporeFramework for training and deploying neural networks
ElephasDistributed deep learning with Keras and Spark
ChainerPowerful, flexible, and intuitive framework for neural networks
EquinoxNeural network library for building flexible models with JAX
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 neural networks and deep learning

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted