Partager via


Notes de publication de CNTK v2.7

Chère communauté,

Grâce à nos contributions continues à ONNX et au runtime ONNX, nous avons facilité l’interopérabilité dans l’écosystème de l’infrastructure IA et l’accès à des fonctionnalités d’inférence multiplateforme multiplateforme pour les modèles ML traditionnels et les réseaux neuronaux profonds. Au cours des dernières années, nous avons été privilégiés de développer de tels projets de machine learning open source clés, y compris le Microsoft Cognitive Toolkit, qui a permis à ses utilisateurs de tirer parti des progrès de l’industrie dans le deep learning à grande échelle.

La version 2.7 du jour sera la dernière version principale de CNTK. Nous avons peut-être des versions mineures ultérieures pour les correctifs de bogues, mais celles-ci seront évaluées sur une base cas par cas. Il n’existe aucun plan pour le développement de nouvelles fonctionnalités après cette version.

La version CNTK 2.7 prend entièrement en charge ONNX 1.4.1 et nous encourageons ceux qui cherchent à mettre en œuvre leurs modèles CNTK pour tirer parti d’ONNX et du runtime ONNX. Avancer, les utilisateurs peuvent continuer à tirer parti des innovations ONNX en évolution via le nombre de frameworks qui le prennent en charge. Par exemple, les utilisateurs peuvent exporter en mode natif des modèles ONNX à partir de PyTorch ou convertir des modèles TensorFlow en ONNX avec le convertisseur TensorFlow-ONNX.

Nous sommes incroyablement reconnaissants pour tout le support que nous avons reçu des contributeurs et des utilisateurs au fil des années depuis la version open source initiale de CNTK. CNTK a permis aux équipes Microsoft et aux utilisateurs externes d’exécuter des charges de travail complexes et à grande échelle de toutes sortes d’applications deep learning, telles que les percées historiques dans la reconnaissance vocale obtenues par les chercheurs Microsoft Speech, les originateurs de l’infrastructure.

Comme ONNX est de plus en plus employé dans les modèles utilisés dans les produits Microsoft tels que Bing et Office, nous sommes dédiés à synthétiser les innovations de la recherche avec les exigences rigoureuses de production pour progresser dans l’écosystème.

Surtout, notre objectif est de faire des innovations dans le deep learning dans les piles logicielles et matérielles aussi ouvertes et accessibles que possible. Nous allons travailler dur pour amener les forces existantes de CNTK et de nouvelles recherches de pointe dans d’autres projets open source pour élargir véritablement la portée de ces technologies.

Avec gratitude,

-- L’équipe CNTK

Principales caractéristiques de cette version

  • Déplacé vers CUDA 10 pour Windows et Linux.
  • Prise en charge de la boucle RNN avancée dans l’exportation ONNX.
  • Exporter plus de 2 Go de modèles au format ONNX.
  • Prise en charge de FP16 dans l’action d’apprentissage Brain Script.

Prise en charge de CNTK pour CUDA 10

CNTK prend désormais en charge CUDA 10. Cela nécessite une mise à jour pour générer un environnement vers Visual Studio 2017 v15.9 pour Windows.

Pour configurer l’environnement de build et d’exécution sur Windows :

  • Installer Visual Studio 2017. Remarque : à l’avenir pour CUDA 10 et au-delà, il n’est plus nécessaire d’installer et d’exécuter avec les outils VC spécifiques version 14.11.
  • Installer Nvidia CUDA 10
  • À partir de PowerShell, exécutez : DevInstall.ps1
  • Démarrez Visual Studio 2017 et ouvrez CNTK.sln.

Pour configurer l’environnement de build et d’exécution sur Linux à l’aide de docker, créez ici une image docker Unbuntu 16.04 à l’aide de Dockerfiles. Pour les autres systèmes Linux, reportez-vous aux fichiers Dockerfiles pour configurer des bibliothèques dépendantes pour CNTK.

Prise en charge de la boucle RNN avancée dans l’exportation ONNX

Les modèles CNTK avec des boucles récursives peuvent être exportés vers des modèles ONNX avec des opérations d’analyse.

Exporter plus de 2 Go de modèles au format ONNX

Pour exporter des modèles de plus de 2 Go au format ONNX, utilisez cntk. API de fonction : save(self, nom de fichier, format=ModelFormat.CNTKv2, use_external_files_to_store_parameters=False) avec « format » défini sur ModelFormat.ONNX et use_external_files_to_store_parameters défini sur True. Dans ce cas, les paramètres de modèle sont enregistrés dans des fichiers externes. Les modèles exportés doivent être utilisés avec des fichiers de paramètres externes lors de l’évaluation du modèle avec onnxruntime.

2018-11-26.
Netron prend désormais en charge la visualisation des fichiers CNTK v1 et CNTK v2 .model .

NetronCNTKDark1NetronCNTKLight1