Microsoft Cognitive Toolkit (CNTK) - Введение
В этой главе мы узнаем, что такое CNTK, его особенности, разница между версиями 1.0 и 2.0 и важные особенности версии 2.7.
Что такое Microsoft Cognitive Toolkit (CNTK)?
Microsoft Cognitive Toolkit (CNTK), ранее известный как Computational Network Toolkit, представляет собой бесплатный, простой в использовании набор инструментов коммерческого уровня с открытым исходным кодом, который позволяет нам обучать алгоритмы глубокого обучения, чтобы учиться подобно человеческому мозгу. Это позволяет нам создавать популярные системы глубокого обучения, такие какfeed-forward neural network time series prediction systems and Convolutional neural network (CNN) image classifiers.
Для оптимальной производительности функции его фреймворка написаны на C ++. Хотя мы можем вызывать его функцию с помощью C ++, но наиболее часто используемый подход - это использование программы Python.
Особенности CNTK
Ниже приведены некоторые функции и возможности, предлагаемые в последней версии Microsoft CNTK:
Встроенные компоненты
CNTK имеет хорошо оптимизированные встроенные компоненты, которые могут обрабатывать многомерные плотные или разреженные данные из Python, C ++ или BrainScript.
Мы можем внимательно реализовать CNN, FNN, RNN, Batch Normalization и Sequence-to-Sequence.
Он предоставляет нам возможность добавлять новые определяемые пользователем базовые компоненты на GPU из Python.
Он также обеспечивает автоматическую настройку гиперпараметров.
Мы можем реализовать обучение с подкреплением, генерирующие состязательные сети (GAN), контролируемое и неконтролируемое обучение.
Для массивных наборов данных CNTK имеет встроенные оптимизированные считыватели.
Эффективное использование ресурсов
CNTK обеспечивает параллелизм с высокой точностью на нескольких графических процессорах / машинах через 1-битный SGD.
Чтобы уместить самые большие модели в памяти графического процессора, он обеспечивает совместное использование памяти и другие встроенные методы.
Легко выражайте наши собственные сети
CNTK имеет полные API-интерфейсы для определения вашей собственной сети, учащихся, читателей, обучения и оценки на Python, C ++ и BrainScript.
Используя CNTK, мы можем легко оценивать модели с помощью Python, C ++, C # или BrainScript.
Он предоставляет как высокоуровневые, так и низкоуровневые API.
Основываясь на наших данных, он может автоматически формировать вывод.
Он имеет полностью оптимизированные символьные циклы рекуррентной нейронной сети (RNN).
Измерение производительности модели
CNTK предоставляет различные компоненты для измерения производительности создаваемых вами нейронных сетей.
Создает данные журнала из вашей модели и соответствующего оптимизатора, которые мы можем использовать для отслеживания процесса обучения.
Версия 1.0 против версии 2.0
В следующей таблице сравниваются версии CNTK 1.0 и 2.0:
Версия 1.0 | Версия 2.0 |
---|---|
Он был выпущен в 2016 году. | Это значительная переработка версии 1.0, выпущенная в июне 2017 года. |
Он использовал собственный язык сценариев под названием BrainScript. | Его каркасные функции можно вызывать с помощью C ++, Python. Мы можем легко загрузить наши модули на C # или Java. BrainScript также поддерживается версией 2.0. |
Он работает как в системах Windows, так и в Linux, но не непосредственно в Mac OS. | Он также работает в системах Windows (Win 8.1, Win 10, Server 2012 R2 и новее) и Linux, но не непосредственно в Mac OS. |
Важные особенности версии 2.7
Version 2.7это последняя основная выпущенная версия Microsoft Cognitive Toolkit. Имеет полную поддержку ONNX 1.4.1. Ниже приведены некоторые важные моменты этой последней выпущенной версии CNTK.
Полная поддержка ONNX 1.4.1.
Поддержка CUDA 10 для систем Windows и Linux.
Он поддерживает расширенный цикл рекуррентных нейронных сетей (RNN) в экспорте ONNX.
Он может экспортировать модели объемом более 2 ГБ в формате ONNX.
Он поддерживает FP16 в обучающем действии языка сценариев BrainScript.