*This article was written by Andy at Adventures in Deep Learning.*

*Fully connected neural network example architecture*

In previous tutorials on deep learning, I have taught how to build networks in the TensorFlow deep learning framework. There is no doubt that TensorFlow is an immensely popular deep learning framework at present, with a large community supporting it. However, there is another contending framework which I think may actually be better – it is called the Microsoft Cognitive Toolkit, or more commonly known as CNTK. Why do I believe it to be better? Two main reasons – it has a more intuitive and easy to use Python API than TensorFlow, and it is *faster*. It also can be used as a back-end to Keras, but I would argue that there is little benefit to doing so as CNTK is already very streamlined. How much faster is it? Some benchmarks show that is it generally faster than TensorFlow and up to 5-10 times faster for recurrent / LSTM networks. That’s a pretty impressive achievement. This article is a comprehensive CNTK tutorial to teach you more about this exciting framework.

Should you switch from using TensorFlow to CNTK? TensorFlow definitely has much more hype than Microsoft’s CNTK and therefore a bigger development community, more answers on Stack Overflow and so on. Also, many people are down on Microsoft which is often perceived as a big greedy corporation. However, Microsoft has opened up a lot, and CNTK is now open-source, so I would recommend giving it a try. Let me know what you think in the comments. This post will be a comprehensive CNTK tutorial which you can use to get familiar with the framework – I suspect that you might be surprised at how streamlined it is.

**CNTK inputs and variables**:

The first thing to learn about any deep learning framework is how it deals with input data, variables and how it executes operations/nodes in the computational graph. In this CNTK tutorial, we’ll be creating a three layer densely connected neural network to recognize handwritten images in the MNIST data-set, so in the below explanations, I’ll be using examples from this problem. See the above-mentioned tutorials for other implementations of the MNIST classification problem.

*To read the full original article and learn more about variables, data readers, and CNTK operations click here. For more neural network related articles on DSC click here.*

**DSC Resources**

- Services: Hire a Data Scientist | Search DSC | Classifieds | Find a Job
- Contributors: Post a Blog | Ask a Question
- Follow us: @DataScienceCtrl | @AnalyticBridge

Popular Articles

© 2019 Data Science Central ® Powered by

Badges | Report an Issue | Privacy Policy | Terms of Service

**Most Popular Content on DSC**

To not miss this type of content in the future, subscribe to our newsletter.

**Technical**

- Free Books and Resources for DSC Members
- Learn Machine Learning Coding Basics in a weekend
- New Machine Learning Cheat Sheet | Old one
- Advanced Machine Learning with Basic Excel
- 12 Algorithms Every Data Scientist Should Know
- Hitchhiker's Guide to Data Science, Machine Learning, R, Python
- Visualizations: Comparing Tableau, SPSS, R, Excel, Matlab, JS, Pyth...
- How to Automatically Determine the Number of Clusters in your Data
- New Perspectives on Statistical Distributions and Deep Learning
- Fascinating New Results in the Theory of Randomness
- Long-range Correlations in Time Series: Modeling, Testing, Case Study
- Fast Combinatorial Feature Selection with New Definition of Predict...
- 10 types of regressions. Which one to use?
- 40 Techniques Used by Data Scientists
- 15 Deep Learning Tutorials
- R: a survival guide to data science with R

**Non Technical**

- Advanced Analytic Platforms - Incumbents Fall - Challengers Rise
- Difference between ML, Data Science, AI, Deep Learning, and Statistics
- How to Become a Data Scientist - On your own
- 16 analytic disciplines compared to data science
- Six categories of Data Scientists
- 21 data science systems used by Amazon to operate its business
- 24 Uses of Statistical Modeling
- 33 unusual problems that can be solved with data science
- 22 Differences Between Junior and Senior Data Scientists
- Why You Should be a Data Science Generalist - and How to Become One
- Becoming a Billionaire Data Scientist vs Struggling to Get a $100k Job
- Why do people with no experience want to become data scientists?

**Articles from top bloggers**

- Kirk Borne | Stephanie Glen | Vincent Granville
- Ajit Jaokar | Ronald van Loon | Bernard Marr
- Steve Miller | Bill Schmarzo | Bill Vorhies

**Other popular resources**

- Comprehensive Repository of Data Science and ML Resources
- Statistical Concepts Explained in Simple English
- Machine Learning Concepts Explained in One Picture
- 100 Data Science Interview Questions and Answers
- Cheat Sheets | Curated Articles | Search | Jobs | Courses
- Post a Blog | Forum Questions | Books | Salaries | News

**Archives**: 2008-2014 | 2015-2016 | 2017-2019 | Book 1 | Book 2 | More

**Most popular articles**

- Free Book and Resources for DSC Members
- New Perspectives on Statistical Distributions and Deep Learning
- Time series, Growth Modeling and Data Science Wizardy
- Statistical Concepts Explained in Simple English
- Machine Learning Concepts Explained in One Picture
- Comprehensive Repository of Data Science and ML Resources
- Advanced Machine Learning with Basic Excel
- Difference between ML, Data Science, AI, Deep Learning, and Statistics
- Selected Business Analytics, Data Science and ML articles
- How to Automatically Determine the Number of Clusters in your Data
- Fascinating New Results in the Theory of Randomness
- Hire a Data Scientist | Search DSC | Find a Job
- Post a Blog | Forum Questions

## You need to be a member of Data Science Central to add comments!

Join Data Science Central