Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit
Перейти к файлу
Frank Seide b1e2753452 All image samples must take an imageLayout parameter 2016-01-30 11:56:57 -08:00
Documentation Added examples as e2e tests 2016-01-30 11:56:48 -08:00
Examples All image samples must take an imageLayout parameter 2016-01-30 11:56:57 -08:00
Source changed sample 02_Convolution to use imageLayout to enable cudnn use; 2016-01-30 11:56:55 -08:00
Tests All image samples must take an imageLayout parameter 2016-01-30 11:56:57 -08:00
Tools Change default targets for build-and-test 2016-01-22 15:46:46 +01:00
.clang-format Re-format code using clang-format (plus some post-processing) 2016-01-18 09:36:14 +01:00
.gitattributes .gitattributes: set proper configuration for text files (and normalize files) 2016-01-18 09:35:54 +01:00
.gitignore .gitignore: ignore ReaderTests output 2016-01-18 11:23:34 +01:00
.gitmodules Update location for Source/1BitSGD 2016-01-23 07:23:12 +01:00
CNTK.sln All image samples must take an imageLayout parameter 2016-01-30 11:56:57 -08:00
CppCntk.vssettings Update CppCntk.vssettings (wolfma) 2016-01-22 10:08:52 +01:00
LICENSE.md License change 2016-01-18 09:36:17 +01:00
Makefile Makefile: exit early if 1Bit-SGD headers not found in 1Bit-SGD build 2016-01-29 12:07:22 +00:00
README.md reduced e2e time for ptb example from 11min to 6sec 2016-01-30 11:56:52 -08:00
configure Made 1bit support an optionally configurable build option for CNTK which is off by default 2016-01-13 14:29:19 -08:00

README.md

CNTK

CNTK (http://www.cntk.ai/), the Computational Network Toolkit by Microsoft Research, is a unified deep-learning toolkit that describes neural networks as a series of computational steps via a directed graph. In this directed graph, leaf nodes represent input values or network parameters, while other nodes represent matrix operations upon their inputs. CNTK allows to easily realize and combine popular model types such as feed-forward DNNs, convolutional nets (CNNs), and recurrent networks (RNNs/LSTMs). It implements stochastic gradient descent (SGD, error backpropagation) learning with automatic differentiation and parallelization across multiple GPUs and servers. CNTK has been available under an open-source license since April 2015. It is our hope that the community will take advantage of CNTK to share ideas more quickly through the exchange of open source working code.

Wiki: Go to the CNTK Wiki for all information on CNTK including setup, examples, etc.

License: See LICENSE.md in the root of this repository for the full license information.

Tutorial: Microsoft Computational Network Toolkit (CNTK) @ NIPS 2015 Workshops

Blogs:

Performance

The figure below compares processing speed (frames processed per second) of CNTK to that of four other well-known toolkits. The configuration uses a fully connected 4-layer neural network (see our benchmark scripts) and an effective mini batch size (8192). All results were obtained on the same hardware with the respective latest public software versions as of Dec 3, 2015.

Performance chart

Citation

If you used this toolkit or part of it to do your research, please cite the work as:

Amit Agarwal, Eldar Akchurin, Chris Basoglu, Guoguo Chen, Scott Cyphers, Jasha Droppo, Adam Eversole, Brian Guenter, Mark Hillebrand, T. Ryan Hoens, Xuedong Huang, Zhiheng Huang, Vladimir Ivanov, Alexey Kamenev, Philipp Kranen, Oleksii Kuchaiev, Wolfgang Manousek, Avner May, Bhaskar Mitra, Olivier Nano, Gaizka Navarro, Alexey Orlov, Hari Parthasarathi, Baolin Peng, Marko Radmilac, Alexey Reznichenko, Frank Seide, Michael L. Seltzer, Malcolm Slaney, Andreas Stolcke, Huaming Wang, Yongqiang Wang, Kaisheng Yao, Dong Yu, Yu Zhang, Geoffrey Zweig (in alphabetical order), "An Introduction to Computational Networks and the Computational Network Toolkit", Microsoft Technical Report MSR-TR-2014-112, 2014.

Disclaimer

CNTK is in active use at Microsoft and constantly evolving. There will be bugs.