The Microsoft Cognitive Toolkit favicon

The Microsoft Cognitive Toolkit

The Microsoft Cognitive Toolkit—previously known as CNTK—empowers you to harness the intelligence within massive datasets through deep learning by providing uncompromised scaling, speed and accuracy with commercial-grade quality and compatibility with the programming languages and algorithms you already use. It can be included as a library in your Python or C++ programs, or used as a standalone machine learning tool through its own model describtion language (BrainScript). 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.

Highly optimized, built-in components Components can handle multi-dimensional dense or sparse data from Python, C++ or BrainScript FFN, CNN, RNN/LSTM, Batch normalization, Sequence-to-Sequence with attention and more Reinforcement learning, generative adversarial networks, supervised and unsupervised learning Ability to add new user-defined core-components on the GPU from Python Automatic hyperparameter tuning Built-in readers optimized for massive datasets

Efficient resource usage Parallelism with accuracy on multiple GPUs/machines via 1-bit SGD and Block Momentum Memory sharing and other built-in methods to fit even the largest models in GPU memory

Easily express your own networks Full APIs for defining networks, learners, readers, training and evaluation from Python, C++ and BrainScript Evaluate models with Python, C++, C# and BrainScript Interoperation with NumPy Both high-level and low-level APIs available for ease of use and flexibility Automatic shape inference based on your data Fully optimized symbolic RNN loops (no unrolling needed)

Training and hosting with Azure Takes advantage of high-speed resources when used with Azure GPU and Azure networks Host trained models easily on Azure and add real-time training if desired

Cloud AutoML

Cloud AutoML

Cloud AutoML helps you easily train high quality custom machine learning models with limited machine learning expertise needed.