Skip to content
Chris Basoglu edited this page Oct 25, 2016 · 45 revisions

CNTK

CNTK - Microsoft Cognitive Toolkit - is a unified deep-learning toolkit by Microsoft Research. You can use CNTK as a library. Read about the APIs here. Python, C++ and [BrainScript](Using CNTK with BrainScript) are fully supported for both training and evaluation. For Python, CNTK also supports Layers, a higher level API. This Wiki describes how to setup CNTK, how to use, configure and test it and how to define your own networks. It is our hope that the community will take advantage of CNTK to share ideas more quickly through the exchange of open source working code.

Here are a few pages to get started:

Note to search the pages of this wiki, in the search box, type: Language:Markdown yourSearchText

For a general introduction to computational networks and the core algorithms, or to cite the work, please refer to the Microsoft Technical Report MSR-TR-2014-112: "An Introduction to Computational Networks and the Computational Network Toolkit", whose source files are contained in the CNTK repository in the folder Documentation/CNTK-TechReport/lyx. Please refer to the wiki for the most updated information on features and user guidelines. The book will be less frequently edited.

What's New

October 2016

2016-10-25. New CNTK Name, new Web Site and V 2.0 Beta 1 Release

CNTK becomes The Microsoft Cognitive Toolkit. See more at our new Web Site.

With the today's Release we start delivering CNTK V2 - a major upgrade of Microsoft Cognitive Toolkit.

Expect a set of Beta Releases in the Coming Weeks.

Highlights of this Release:

  • CNTK can now be used as a library with C++ and brand new Python APIs
  • New Python Examples and Tutorials
  • Support of Fast R-CNN algorithm
  • Improvements in CNTK Evaluation library including support of CNTK APIs

See more in the Release Notes. You will find there links to the materials about the new features.
Get the Release from the CNTK Releases page

September 2016

2016-09-28. V 1.7.1 Binary release
Highlights of this Release:

  • Two Breaking Changes related to Layers library default initialization and fsAdagrad gradient-normalization scheme
  • Improvements in BrainScript
  • Enabling of Deterministic Algorithm enforcement
  • Improvements in Model Evaluation including the support of Evaluation for Azure Applications
  • Different Performance improvements
  • Multiple bug fixes

See more in the Release Notes (including the full list of bugs fixed)
Get the Release from the CNTK Releases page

August 2016

2016-08-31. V 1.7 Binary release
Highlights of this Release:

  • Improvements in BrainScript (New library of predefined common layer types, Support of cuDNN5 RNN and Common random-initialization types, improved handling of GRUs)
  • Support of NVIDIA cuDNN 5.1
  • Improvements in Readers and Deserializers
  • Additions to Evaluator Library (Eval Client Sample, Strong Name for EvalWrapper)
  • New in Unit Tests (Linux support, Randomization engines)
  • Python API Preview (since V.1.5)
  • Multiple bug fixes

See more in the Release Notes
Get the Release from the CNTK Releases page

2016-08-29. Two new Tutorials are available:
Image recognition (CIFAR-10) and Language understanding (ATIS).

2016-08-10. We have significantly simplified handling of Gated Recurrent Units (GRU). Read more in the corresponding article.

July 2016

2016-07-15. V 1.6 Binary release
CNTK v.1.6 binaries are on the CNTK Releases page

2016-07-12. We have further expanded Licensing options for CNTK 1bit-SGD and related components. See the details at the Wiki page. These new options are an extension of the new CNTK 1bit-SGD License that we have announced on Jun 23, 2016.

2016-07-05. CNTK now supports Deconvolution and Unpooling.

June 2016

2016-06-23. New License Terms for CNTK 1bit-SGD and related components.
Effective immediately the License Terms for CNTK 1bit-SGD and related components have changed. The new Terms provide more flexibility and enable new usage scenarios, especially in commercial environments. Read the new Terms at the standard location. Please note, that while the new Terms are significantly more flexible comparing to the previous ones, they are still more restrictive than the main CNTK License. Consequently everything described in Enabling 1bit-SGD section of the Wiki remains valid.

2016-06-20. A post on Intel MKL and CNTK is published in the Intel IT Peer Network

2016-06-16. V 1.5 Binary release. NuGet Package with CNTK Model Evaluation Libraries.
NuGet Package is added to CNTK v.1.5 binaries. See CNTK Releases page and NuGet Package description.

2016-06-15. CNTK now supports building against a custom Intel® Math Kernel Library (MKL). See setup instructions on how to set this up for your platform.

2016-06-10. See CNTK v.1.5 binary release announcement in the official Microsoft Research Blog

2016-06-08. V 1.5 Binary release
CNTK v.1.5 binaries are on the CNTK Releases page

2016-06-01. An updated version of the network-description language has been made available under the new BrainScript Network Builder, which features full expression parsing, recursive functions, and more.

May 2016

2016-05-19. A 1-hour talk describing CNTK, how to use it, and how it works, has been posted at Presentations.

2016-05-16. An example illustrating Using CNTK with ResNet is added to the codebase. The example contains some pre-trained models that can be used in various applications.

2016-05-16. CNTK Wiki now has FAQ Page

2016-05-05. CNTK now supports BlockMomentum Stochastic Gradient Descent (SGD) algorithm.
See the details in the Multiple GPUs and machines Wiki section

2016-05-03. New transformations are implemented for Image Reader.
See the description in the Image Reader Wiki section

April 2016

2016-04-25. V 1.1 Binary release
CNTK v.1.1 binaries are on the CNTK Releases page

2016-04-12. CNTK is available as Azure Virtual Machines and Docker Containers

2016-04-12. Added support for ND convolution and ND pooling and CPU support for cudnn layout in convolution, pooling and batch normalization nodes.
Read documentation on convolution, pooling and batch normalization nodes.

2016-04-05. CUDA7.5 support for Windows Build: Windows project files have been updated to automatically utilize CUDA 7.5 if present

March 2016

2016-03-24. New Text Reader (CNTKTextFormatReader) is available
Read description here https://github.com/Microsoft/CNTK/wiki/CNTKTextFormat-Reader

February 2016

2016-02-29. Added ZIP files support to the ImageReader
Examples: https://github.com/Microsoft/CNTK/wiki/Image-reader
Updated build steps at https://github.com/Microsoft/CNTK/wiki/Setup-CNTK-on-your-machine

2016-02-29. Added documentation for the ImageReader https://github.com/Microsoft/CNTK/wiki/Image-reader

2016-02-17. CNTK Contribution Guidelines are published
Check it out here: https://github.com/Microsoft/CNTK/wiki/Contributing-to-CNTK

2016-02-15. The first part of CNTK tutorial is published.
You can find it here: https://github.com/Microsoft/CNTK/wiki/Tutorial

2016-02-10. Binary release
Most up-to-date binaries are on the CNTK Releases page

January 2016

2016-01-26. First binary release after the move to GitHub is published (GPU only).

2016-01-25 13:00 GMT. CNTK new repository in GitHub went public! Together with GitHub repository a new CNTK web site http://www.cntk.ai/ also became available.

Clone this wiki locally