Reasons to Switch from TensorFlow to CNTK[size=0.875]2017-6-3 9 min to read Contributors
Deep learning has revolutionized artificial intelligence (AI) over the past few years. Following Microsoft’s vision that AI shall be accessible for all instead of a few elite companies, we created the Microsoft Cognitive Toolkit (CNTK), an open source deep learning toolkit free for anyone to use. Today, it is the third most popular deep learning toolkit in terms of GitHub stars, behind TensorFlow and Caffe, and ahead of MxNet, Theano, Torch, etc.
Given TensorFlow’s extreme popularity, we often encounter people asking us: why would anyone want to use CNTK instead of TensorFlow? Humans have a natural tendency to follow the crowd, and there is certainly nothing wrong with it. However, in this article, we would like to point out some strong reasons in favor of CNTK, and argue that for many applications, CNTK might be a much better choice. These reasons include:
- Speed. CNTK is in general much faster than TensorFlow, and it can be 5-10x faster on recurrent networks.
- Accuracy. CNTK can be used to train deep learning models with state-of-the-art accuracy.
- API design. CNTK has a very powerful C++ API, and it also has both low-level and easy to use high-level Python APIs that are designed with a functional programming paradigm.
- Scalability. CNTK can be easily scaled over thousands of GPUs.
- Inference. CNTK has C#/.NET/Java inference support that makes it easy to integrate CNTK evaluation into user applications.
- Extensibility. CNTK can be easily extended from Python for layers and learners.
- Built-in readers. CNTK has efficient built in data readers that also support distributed learning.
In the remainder of this article, we expand and explain these benefits in more detail.
本帖隐藏的内容
https://docs.microsoft.com/en-us/cognitive-toolkit/reasons-to-switch-from-tensorflow-to-cntk