The Microsoft Cognitive Toolkit

NOTE: CNTK is no longer actively developed. See the release notes of the final major release for details.

The Microsoft Cognitive Toolkit (CNTK) is an open-source toolkit for commercial-grade distributed deep learning. It describes neural networks as a series of computational steps via a directed graph. CNTK allows the user to easily realize and combine popular model types such as feed-forward DNNs, convolutional neural networks (CNNs) and recurrent neural networks (RNNs/LSTMs). CNTK implements stochastic gradient descent (SGD, error backpropagation) learning with automatic differentiation and parallelization across multiple GPUs and servers.

This video provides a high-level overview of the toolkit. For information on Deep Learning with Microsoft Cognitive Toolkit CNTK.

The latest release of CNTK is 2.7.

CNTK can be included as a library in your Python, C#, or C++ programs, or used as a standalone machine-learning tool through its own model description language (BrainScript). In addition you can use the CNTK model evaluation functionality from your Java programs.

CNTK supports 64-bit Linux or 64-bit Windows operating systems. To install you can either choose pre-compiled binary packages, or compile the toolkit from the source provided in GitHub.

A separate license is no longer required to use the 1-bit Stochastic Gradient Descent (1-bit SGD) in CNTK; the 1-bit SGD is available under the license provided in GitHub.


CNTK is also one of the first deep-learning toolkits to support the Open Neural Network Exchange ONNX format, an open-source shared model representation for framework interoperability and shared optimization. Co-developed by Microsoft and supported by many others, ONNX allows developers to move models between frameworks such as CNTK, Caffe2, MXNet, and PyTorch.

The latest release of CNTK supports ONNX v1.0.

Learn more about ONNX here.