Microsoft Cognitive Toolkit (CNTK) - Introdução
Neste capítulo, aprenderemos o que é CNTK, suas características, diferença entre sua versão 1.0 e 2.0 e importantes destaques da versão 2.7.
O que é o Microsoft Cognitive Toolkit (CNTK)?
O Microsoft Cognitive Toolkit (CNTK), anteriormente conhecido como Computational Network Toolkit, é um kit de ferramentas gratuito, de código aberto e de nível comercial que nos permite treinar algoritmos de aprendizagem profunda para aprender como o cérebro humano. Isso nos permite criar alguns sistemas populares de aprendizado profundo, comofeed-forward neural network time series prediction systems and Convolutional neural network (CNN) image classifiers.
Para um desempenho ideal, suas funções de estrutura são escritas em C ++. Embora possamos chamar sua função usando C ++, a abordagem mais comumente usada para o mesmo é usar um programa Python.
Recursos do CNTK
A seguir estão alguns dos recursos e capacidades oferecidos na versão mais recente do Microsoft CNTK:
Componentes integrados
O CNTK possui componentes integrados altamente otimizados que podem lidar com dados multidimensionais densos ou esparsos de Python, C ++ ou BrainScript.
Podemos implementar CNN, FNN, RNN, normalização em lote e sequência a sequência com atenção.
Ele nos fornece a funcionalidade para adicionar novos componentes principais definidos pelo usuário na GPU do Python.
Ele também fornece ajuste automático de hiperparâmetros.
Podemos implementar aprendizagem por reforço, redes adversárias gerativas (GANs), aprendizagem supervisionada e não supervisionada.
Para conjuntos de dados massivos, o CNTK possui leitores otimizados integrados.
Uso de recursos de forma eficiente
O CNTK nos fornece paralelismo com alta precisão em várias GPUs / máquinas via SGD de 1 bit.
Para caber nos maiores modelos de memória GPU, ele fornece compartilhamento de memória e outros métodos integrados.
Expresse nossas próprias redes facilmente
CNTK tem APIs completas para definir sua própria rede, alunos, leitores, treinamento e avaliação de Python, C ++ e BrainScript.
Usando CNTK, podemos avaliar facilmente modelos com Python, C ++, C # ou BrainScript.
Ele fornece APIs de alto e baixo nível.
Com base em nossos dados, ele pode moldar automaticamente a inferência.
Ele tem loops de Rede Neural Recorrente Simbólica (RNN) totalmente otimizado.
Medindo o desempenho do modelo
O CNTK fornece vários componentes para medir o desempenho das redes neurais que você constrói.
Gera dados de registro do seu modelo e do otimizador associado, que podemos usar para monitorar o processo de treinamento.
Versão 1.0 vs Versão 2.0
A tabela a seguir compara o CNTK Versão 1.0 e 2.0:
Versão 1.0 | Versão 2.0 |
---|---|
Foi lançado em 2016. | É uma reescrita significativa da versão 1.0 e foi lançada em junho de 2017. |
Ele usava uma linguagem de script proprietária chamada BrainScript. | Suas funções de framework podem ser chamadas usando C ++, Python. Podemos carregar facilmente nossos módulos em C # ou Java. BrainScript também é compatível com a versão 2.0. |
Ele roda em sistemas Windows e Linux, mas não diretamente no Mac OS. | Também é executado em sistemas Windows (Win 8.1, Win 10, Server 2012 R2 e posterior) e Linux, mas não diretamente no Mac OS. |
Destaques importantes da versão 2.7
Version 2.7é a última versão principal lançada do Microsoft Cognitive Toolkit. Tem suporte total para ONNX 1.4.1. A seguir estão alguns destaques importantes desta última versão lançada do CNTK.
Suporte total para ONNX 1.4.1.
Suporte para CUDA 10 para sistemas Windows e Linux.
Suporta loop avançado de Redes Neurais Recorrentes (RNN) na exportação ONNX.
Pode exportar mais de modelos de 2 GB no formato ONNX.
Ele suporta FP16 na ação de treinamento da linguagem de script BrainScript.