El Microsoft Cognitive Toolkit

NOTA: CNTK ya no se desarrolla activamente. Consulte las notas de la versión de la versión principal final para obtener más información.

El Microsoft Cognitive Toolkit (CNTK) es un kit de herramientas de código abierto para el aprendizaje profundo distribuido de nivel comercial. Describe las redes neuronales como una serie de pasos computacionales a través de un gráfico dirigido. CNTK permite al usuario realizar y combinar fácilmente tipos de modelo populares, como DNN de avance de fuente, redes neuronales convolucionales (CNN) y redes neuronales recurrentes (RNN/LSTMs). CNTK implementa el aprendizaje de descenso de degradado estocástico (SGD, error backpropagation) con diferenciación automática y paralelización entre varias GPU y servidores.

En este vídeo se proporciona información general de alto nivel del kit de herramientas. Además, Microsoft ofrece un curso introductorio para el aprendizaje profundo con CNTK, Deep Learning Explicado.

La versión más reciente de CNTK es la 2.7.

CNTK se puede incluir como una biblioteca en los programas de Python, C# o C++, o bien usarse como una herramienta de aprendizaje automático independiente a través de su propio lenguaje de descripción del modelo (BrainScript). Además, puede usar la funcionalidad de evaluación de modelos de CNTK de los programas Java.

CNTK admite sistemas operativos linux o de 64 bits Windows de 64 bits. Para instalar, puede elegir paquetes binarios compilados previamente o compilar el kit de herramientas desde el origen proporcionado en GitHub.

Ya no se requiere una licencia independiente para usar el descenso de degradado estocástico de 1 bits (SGD de 1 bits) en CNTK; el SGD de 1 bits está disponible bajo la licencia proporcionada en GitHub.


CNTK también es uno de los primeros kits de herramientas de aprendizaje profundo para admitir el formato Open Neural Network Exchange ONNX, una representación de modelo compartido de código abierto para la interoperabilidad del marco y la optimización compartida. Desarrollado conjuntamente por Microsoft y respaldado por muchos otros, ONNX permite a los desarrolladores mover modelos entre marcos como CNTK, Caffe2, MXNet y PyTorch.

La versión más reciente de CNTK admite ONNX v1.0.

Obtenga más información sobre ONNX aquí.