Deep Neural Network Classifiers using CNTK

I wrote an article titled “Deep Neural Network Classifiers using CNTK” in the February 2018 issue of Microsoft MSDN Magazine. See https://msdn.microsoft.com/en-us/magazine/mt829273.

CNTK is a powerful code library that can be used to create several kinds of deep neural networks. In my article, I use a well-known example of classifying the variety of a wheat seed (Kama, Rosa, or Canadian) based on seven predictor variables (seed area, length, etc.)

My example created a 7-(4-4-4)-3 deep network meaning there are 7 input values, three hidden processing layers, each of which has 4 nodes, and three output nodes.

A few years ago, coding a deep neural network classifier like this would have been extremely challenging because you’d have to code from scratch using raw C# or C++ or similar language. With CNTK, I was able to get my demo up and running in under two hours.

CNTK does a lot of hard work for you, but you still have to understand about 20 key neural network concepts such as softmax activation, cross entropy error, and so on.

There are many competitors to CNTK. Perhaps the best known is TensorFlow. But I find TensorFlow very difficult to use, especially on a Windows machine. Another alternative is Keras, a high level wrapper library that invokes either TendorFlow or CNRK (or Theano) behind the scenes. Of these, CNTK is my library of choice because it works at the right level of abstraction for me (low, but not as low as Tensorflow, and not as high as Keras).

This entry was posted in Machine Learning, Miscellaneous. Bookmark the permalink.

2 Responses to Deep Neural Network Classifiers using CNTK

  1. PGT-ART's avatar PGT-ART says:

    Can Tensorflow be used in c# as well ? (do you have a demo perhaps?)

Comments are closed.