API de Biblioteca CNTK
O CNTK fornece bibliotecas em Python, C++ para composição e preparação de rede, bem como para avaliação de modelos. Também fornece bibliotecas em C#/.NET e Java para aceder às instalações de avaliação do modelo CNTK.
API Python
A API python CNTK consiste em abstrações para definição e computação de modelos, algoritmos de aprendizagem, leitura de dados e preparação distribuída.
- Flexibilidade e compactação: estas abstrações compõem ortogonicamente a flexibilidade e a concisidade na definição e preparação de redes neurais arbitrárias.
- Interfaces de dados eficientes: as interfaces de dados simples mas leves permitem que os utilizadores alimentem dados de forma eficiente na forma de matrizes numpy nativas para o motor de computação.
- Leitores de dados incorporados: os leitores de dados dimensionáveis e otimizados incorporados da CNTK para formatos de dados HTK de imagem, formato de texto e voz também estão disponíveis a partir das APIs python para facilitar a preparação direta com dados existentes sem que os utilizadores tenham de criar qualquer código de leitura de dados.
- Aprendizagem altamente dimensionável: a API expõe as capacidades de preparação distribuída altamente dimensionáveis do CNTK (algoritmos de paralelização como o SGD de 1 Bit). O exemplo de preparação distribuída ilustra a API de paralelização de preparação.
- Definição de rede concisa: a API inclui uma biblioteca de camadas de alto nível que permite a definição concisa de redes neurais avançadas, incluindo periodicidades semelhantes à CNTK V1. O toolkit suporta a representação de modelos recorrentes na forma simbólica como ciclos na rede neural em vez de exigir a anulação estática dos passos de periodicidade. Isto resulta numa representação e execução muito mais gerais, concisas e eficientes de redes neurais recorrentes.
Todas as principais abstrações de API de computação, aprendizagem e leitura de dados na API python CNTK são facilmente extensíveis tanto do Python como do C++ que permitem aos utilizadores implementar facilmente novos operadores, formandos e leitores de dados que compõem livremente as instalações incorporadas da biblioteca.
A API introduz o novo formato de serialização de modelos baseados em Memórias Intermédias de Protocolo que suporta compatibilidade anterior e ascendente para modelos guardados.
API C++
A API C++ da Biblioteca CNTK expõe a composição computacional principal da CNTK, a composição de rede neural & preparação, a leitura eficiente de dados e as instalações de preparação de modelos dimensionáveis para programadores. As APIs C++ estão totalmente em destaque tanto para a preparação de modelos como para a avaliação, o que permite que a preparação e o modelo que servem sejam expulsos do código nativo. Isto permite que o seu código nativo ajuste o modelo online com novos dados como parte de um pedido de avaliação (ou seja, aprendizagem online).
Atualmente, a melhor origem da documentação da API está inline no ficheiro de cabeçalho da API (CNTKLibrary.h) que contém a definição completa da API C++. Os ficheiros de cabeçalho da API também estão incluídos no pacote de lançamento binário no diretório Incluir.
C#/.NET API
A API Gerida da Biblioteca CNTK expõe APIs relacionadas com Preparação e Avaliação para programadores que utilizam C# ou outros idiomas .NET. É fornecido como pacotes NuGet. O pacote NuGet CNTK. A CPUOnly destina-se apenas a dispositivos da CPU e ao CNTK. A GPU suporta a CPU e a GPU NVIDIA.
Para obter detalhes sobre a API gerida da Biblioteca CNTK, veja a página API Gerida da Biblioteca CNTK .
Existem vários Exemplos Eval no projeto CNTKLibraryEvalExamples.sln mostra como avaliar um modelo em C#.
Os Exemplos de Preparação com a API C# podem ser encontrados dentro de CNTKLibraryCSharpTrainingExamples.sln
API Java (Experimental)
A API Java CNTK suporta a avaliação de modelos em Java. Esta API ainda é experimental e está sujeita a alterações. É fornecido como um ficheiro jar (cntk.jar) que pode ser incluído em projetos Java.
Veja as instruções do Windows e do Linux sobre como utilizar a API Java.
O exemplo de Java mostra como avaliar um modelo em Java.