Sep 25, 2017 Python libraries from Machine Learning Server (revoscalepy and microsoftml) available with Azure Machine Learning include the Pythonic versions of Microsoft’s Parallel External Memory Algorithms (linear and logistic regression, decision tree, boosted tree and random forest) and the battle tested ML algorithms and transforms (deep neural net.
Microsoft today announced the general availability of Cognitive Toolkit version 2.0 with some new features including Keras support, Java bindings and Spark support for model evaluation, and model compression to increase the speed to evaluating a trained model on CPUs. Microsoft Cognitive Toolkit the fastest deep learning framework in the market and it offers many advantages over other frameworks for developers. But it is only the third most popular deep learning toolkit in terms of GitHub stars, behind TensorFlow and Caffe. Microsoft is very confident about the performance and capabilties of Cognitive Toolkit, now they want to expand its reach among developers and the research community.
- Jun 01, 2017 @cha-zhang I care deeply the wide adoption of CNTK to all platforms AND NOT SIMPLY to be as good OR exceed tensorflow. Not having budget for Mac build in my view is MISSING the opportunity The same way Microsoft MISSES the dawn of iPhone There.
- Jul 03, 2018 Simply put, currently not. They are - I think - evaluating the possibility of such a port, but not as of now. As far as I know Mac OS support is on the roadmap. They are planning to move to CMake to support build source on Mac OS at minimum.
They often encounter people asking them why would anyone want to use CNTK instead of TensorFlow. To answer the questions, they have now posted an article pointing out reasons in favor of CNTK. 8 reasons why you should switch from TensorFlow to CNTK 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.
- Identical internal and external toolkit. You would not be compromised in any way because the same toolkit is used by internal product groups at Microsoft.
You can read about these 8 reasons in detail here.
-->The Microsoft Cognitive Toolkit (CNTK) is an open-source toolkit for commercial-grade distributed deep learning. It describes neural networks as a series of computational steps via a directed graph. CNTK allows the user to easily realize and combine popular model types such as feed-forward DNNs, convolutional neural networks (CNNs) and recurrent neural networks (RNNs/LSTMs). CNTK implements stochastic gradient descent (SGD, error backpropagation) learning with automatic differentiation and parallelization across multiple GPUs and servers.
This video provides a high-level overview of the toolkit. In addition, Microsoft offers an introductory course to deep learning with CNTK, Deep Learning Explained.
The latest release of CNTK is 2.7.
CNTK can be included as a library in your Python, C#, or C++ programs, or used as a standalone machine-learning tool through its own model description language (BrainScript). In addition you can use the CNTK model evaluation functionality from your Java programs.
CNTK supports 64-bit Linux or 64-bit Windows operating systems. To install you can either choose pre-compiled binary packages, or compile the toolkit from the source provided in GitHub.
CNTK is also one of the first deep-learning toolkits to support the Open Neural Network Exchange ONNX format, an open-source shared model representation for framework interoperability and shared optimization. Co-developed by Microsoft and supported by many others, ONNX allows developers to move models between frameworks such as CNTK, Caffe2, MXNet, and PyTorch.
Microsoft Cntk C#
The latest release of CNTK supports ONNX v1.0.
Microsoft Cntk Mac Download
Learn more about ONNX here.