Microsoft Cognitive Toolkit Version 2.0
Written by Sue Gee   
Monday, 05 June 2017

After over six months in beta, Microsoft Cognitive Toolkit Version 2.0, which was formerly known as CNTK, is now in full release with general availability.


As we reported at the time, Microsoft Cognitive Toolkit Version 2 entered beta testing in October 2016.  Having started out in-house at Microsoft by researchers who wanted to use machine learning in areas such as speech recognition, CTNK (Computational Network Toolkit), described as:

a commercial-grade toolkit for training deep learning algorithms to learn like the human brain 

was open sourced in April 2015, although it continues to be used by Microsoft Research.

Microsoft Cognitive Toolkit, which is still widely referred to at CNTK, is designed to run on multiple GPUs and outperforms other Machine Learning Frameworks in terms of its performance. This Speed Comparison comes from a paper Should I use TensorFlow, which compares CNTK, Theano, Torcha and Caffe,  with TensorFlow,  that we covered last November:


The blog post announcing that Microsoft Cognitive Toolkit version 2.0 has now achieved general availability status included more performance statistics. They show how it outperforms other similar platforms, in this case Caffe, MXNet, TensorFlow and Torch, in terms of speed on a single CPU:



A chart is provided to show how on multiple GPUs, the performance improves with scale. It shows how the performance projections get progressively better with up to 64 V100’s, the new Volta GPU from NVIDIA:



On entering beta, highlights of Microsoft Cognitive Toolkit Version 2.0 included: 

  • Can now be used as a library with brand new C++ and Python APIs
  • New Python Examples and Tutorials
  • Support of Protocol Buffers serialization
  • Support of Fast R-CNN algorithm
  • New automated installation procedures
  • Improvements in CNTK Evaluation library including support of CNTK APIs

Having gone through fifteen beta releases and three release candidates, with new features introduced each time, CNTK 2.0, the first production release of Microsoft Cognitive Toolkit 2.0 is now available for download. The highlights of the release include: 

  • CNTK Java API (still experimental and subject to change)

Commenting on this in the GA announcement the team writes that this API means:

users can evaluate Cognitive toolkit models with a new Java API. This makes it ideal for users wishing to integrate deep learning models into their Java based applications or for evaluation at scale on platforms like Spark.

  • Binary convolution with Halide
    An example that implements training of a binary convolution network and a highly optimized native C++ implementation for fast evaluation of binary convolution models. Utilising the Halide framework for making optimal use of multi-threading and vector instructions available on modern CPUs, It runs up to 10x faster than an equivalent convolution network trained and evaluated at 32-bit floating point precision.

  • Keras backend (in public preview)
    In response to demand from the community, support has been added for Keras, an open source neural network library written in Python which already runs on top of Tensorflow, Theano and Deeplearning.

The Congitive Toolkit comments in the blog post:

The Keras API was designed for users to develop AI applications and is optimized for the user experience. Keras follows best practices for reducing cognitive load: it offers consistent and simple APIs, it minimizes the number of user actions required for common use cases, and it provides clear and actionable feedback upon user error. Keras has opened deep learning to thousands of people with no prior machine learning experience. We are delighted to announce that many thousands of Keras users are now able to benefit from the performance of Cognitive Toolkit without any changes to their existing Keras recipes.


The blog post concludes with a reference to a list of reason on the GitHub wiki why data scientists and developers who are using other frameworks now should try Cognitive Toolkit.



More Information

Microsoft’s high-performance, open source, deep learning toolkit is now generally available

Microsoft Cognitive Toolkit


Related Articles

Microsoft Cognitive Toolkit Version 2.0 Beta

Open AI And Microsoft Exciting Times For AI

Microsoft Expands Cognitive Services APIs

Microsoft Cognitive Services APIs Released

Cortana Skills Kit Now In Developer Preview

Conversation and Cognition at Build 2016

MIcrosoft's Project Oxford AI APIs For The REST Of Us

What Makes A Bot? 


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Oracle Database 23ai - Feel the Difference

The Empire strikes back with the most advanced
Oracle version to date. The focus of this new version is surprise, surprise, AI , which is so embedded into the new product that Oracle found prudent [ ... ]

Docker Reveals The Application Development Landscape

The 2024 Docker State of Application Development Report is intended to provide a "deep-focus snapshot of the rapidly evolving world of software development today". 

More News

C book



or email your comment to:

Last Updated ( Tuesday, 06 June 2017 )