Notas de versão do CNTK v2.7

Querida comunidade,

Com nossas contribuições contínuas para o ONNX e o ONNX Runtime, facilitamos a interoperação dentro do ecossistema da estrutura de IA e o acesso a recursos de inferência multiplataforma de alto desempenho para modelos de ML tradicionais e redes neurais profundas. Nos últimos anos, tivemos o privilégio de desenvolver esses principais projetos de machine learning de software livre, incluindo o Microsoft Cognitive Toolkit, que permitiu que seus usuários aproveitassem os avanços em todo o setor em aprendizado profundo em escala.

A versão 2.7 de hoje será a última versão principal do CNTK. Podemos ter algumas versões secundárias subsequentes para correções de bugs, mas elas serão avaliadas caso a caso. Não há planos para o desenvolvimento de novos recursos após esta versão.

A versão do CNTK 2.7 tem suporte total para ONNX 1.4.1 e incentivamos aqueles que buscam operacionalizar seus modelos CNTK para aproveitar o ONNX e o ONNX Runtime. Seguindo em frente, os usuários podem continuar a aproveitar as inovações onnx em evolução por meio do número de estruturas que dão suporte a ela. Por exemplo, os usuários podem exportar nativamente modelos ONNX do PyTorch ou converter modelos TensorFlow em ONNX com o conversor TensorFlow-ONNX.

Somos incrivelmente gratos por todo o suporte que recebemos de colaboradores e usuários ao longo dos anos desde a versão inicial de software livre do CNTK. O CNTK permitiu que equipes da Microsoft e usuários externos executassem cargas de trabalho complexas e em larga escala em todos os tipos de aplicativos de aprendizado profundo, como avanços históricos no reconhecimento de fala obtidos pelos pesquisadores de Fala da Microsoft, os originadores da estrutura.

Como o ONNX está cada vez mais empregado no atendimento de modelos usados em produtos da Microsoft, como o Bing e o Office, estamos dedicados a sintetizar inovações de pesquisas com as rigorosas demandas de produção para avançar o ecossistema.

Acima de tudo, nosso objetivo é tornar as inovações em aprendizado profundo nas pilhas de software e hardware o mais aberto e acessível possível. Trabalharemos duro para trazer os pontos fortes existentes da CNTK e novas pesquisas de última geração em outros projetos de software livre para realmente ampliar o alcance dessas tecnologias.

Com gratidão,

-- A equipe do CNTK

Destaques desta versão

  • Movido para o CUDA 10 para Windows e Linux.
  • Suporte ao loop RNN avançado na exportação ONNX.
  • Exporte modelos maiores que 2 GB no formato ONNX.
  • Suporte a FP16 na ação de treinamento do Brain Script.

Suporte do CNTK para CUDA 10

O CNTK agora dá suporte ao CUDA 10. Isso requer uma atualização para criar um ambiente para o Visual Studio 2017 v15.9 para Windows.

Para configurar o ambiente de build e runtime no Windows:

  • Instalar o Visual Studio 2017. Observação: daqui para frente para CUDA 10 e além, não é mais necessário instalar e executar com as Ferramentas de VC específicas versão 14.11.
  • Instalar o Nvidia CUDA 10
  • No PowerShell, execute: DevInstall.ps1
  • Inicie o Visual Studio 2017 e abra o CNTK.sln.

Para configurar o ambiente de build e runtime no Linux usando o Docker, crie a imagem do Docker do Unbuntu 16.04 usando o Dockerfiles aqui. Para outros sistemas Linux, consulte os Dockerfiles para configurar bibliotecas dependentes para CNTK.

Suporte ao loop RNN avançado na exportação ONNX

Modelos CNTK com loops recursivos podem ser exportados para modelos ONNX com operações de verificação.

Exportar modelos maiores que 2 GB no formato ONNX

Para exportar modelos maiores que 2 GB no formato ONNX, use cntk. API de Função: save(self, filename, format=ModelFormat.CNTKv2, use_external_files_to_store_parameters=False) com 'format' definido como ModelFormat.ONNX e use_external_files_to_store_parameters definido como True. Nesse caso, os parâmetros de modelo são salvos em arquivos externos. Os modelos exportados devem ser usados com arquivos de parâmetro externos ao fazer a avaliação do modelo com onnxruntime.

2018-11-26.
O Netron agora dá suporte à visualização de arquivos CNTK v1 e CNTK v2.model.

NetronCNTKDark1NetronCNTKLight1