How to Start Using CNTK MS Deep Learning Framework

On January, 2016 Microsoft announced that it had moved the open-source deep learning software (CNTK) from Microsoft’s CodePlex source code repository hosting site to GitHub, a popular website for hosting open-source projects.


The Computational Network Toolkit, or CNTK, is a deep learning framework developed by Microsoft Research. CNTK describes neural networks as a series of computational steps through a directed graph. In this graph, leaf nodes depict input values or network parameters, while other nodes indicate matrix operations on input. CNTK lets users easily embody and match popular model types such as feed-forward DNNs, convolutional nets (CNNs), and recurrent networks (RNNs/LSTMs). It performs stochastic gradient descent (SGD, error backpropagation) learning with automatic differentiation and parallelization across multiple GPUs and servers. Written in C++, the project was released under the MIT license.


CNTK now supports Windows and Linux platforms. It also promotes modularization, maintaining a separation between computation networks, the execution engine, learning algorithms, and model descriptions.


CNTK has three main advantages over the other frameworks:


  • Efficiency: Can train production systems very fast

  • Performance: Can achieve state-of-the-art performance on benchmark tasks and production systems

  • Flexibility: Can support various tasks such as speech, image, and text, and can try out new ideas quickly


CNTK supports scaling to GPU clusters out of the box. This includes distributed neural network training on clusters of basically any size, making the toolkit useful for hobbyists starting out, startups with specific purposes, and researchers with large-scale ambitions (and matching hardware output). CNTK gives some functionality that open source competitors do not currently have, making further investigation  especially attractive.


Another advantage of CNTK is the NDL language for network descriptions. There is good chance that using the configuration files will be convenient for quick prototyping. For those who are more interested in modeling than programming, this is a reasonable solution. In machine learning, programming is a means to an end, and treating it as such can be refreshing.


It also has some disadvantages - the absence of other language support, like Python, is an obstacle to CNTK in this early stage. When looking to maximize acceptance, giving current programmers the tools to integrate into existing pipelines is critical.


Recently CNTK has focused on speech research communities. As a result, its most valuable computational performance capabilities are not well known to the broader AI community.


The documentation on the official website has all steps needed to install CNTK to your computer both for Windows and Linux operating systems. Take a look here.


Archer Developers competed for the Diabetic Retinopathy Detection grant hoping to make contributions to the scientific community. The US Center for Disease Control and Prevention estimates that 29.1 million people in the US have diabetes and the World Health Organization estimates that 347 million people have the disease worldwide. Diabetic Retinopathy (DR) is an eye disease associated with long-standing diabetes. Around 40% to 45% of Americans with diabetes have some stage of the disease. Progression to vision impairment can be slowed or averted if DR is detected in time, however this can be difficult, as the disease often shows few symptoms until it is too late to provide effective treatment.

The main goal of the Archer Software is to make high-quality software that will help clients with their business needs. We are currently supporting several IT products, including business and enterprise apps. Archer Software is committed to productive, long-term relationships and we are always open to discuss the details of any work, tech specifications or estimates. Contact us for a comprehensive response about pricing and the terms of development.