Vue d’ensemble de l’évaluation EvalDLL
La bibliothèque EvalDLL fournit des méthodes permettant d’évaluer les modèles CNTK préentraînés enregistrés au format CNTK model-v1. Il est disponible en C++ (sur Windows et Linux) et C# (sur Windows uniquement).
Évaluation de différents types de données et couches
Actuellement, la bibliothèque Eval prend en charge les vecteurs pour l’entrée et la sortie. Cela signifie que le vecteur d’entrée doit correspondre aux nœuds d’entrée dans le modèle (fonctionnalités). Certains modèles sont entraînés avec des images (par exemple CIFAR-10) mais ces images sont vectorielisées en premier lieu dans le réseau. Par exemple, le jeu de données CIFAR-10 est composé de petites images (32 pixels de 32 pixels) ou de valeurs RVB. Bien que chacune soit une coordonnée 3 dimensions (largeur, hauteur, couleur), les données sont vectorielisées en vecteur 1 dimensionnel. Il est donc important de convertir les données brutes au format vectoriel avant l’évaluation. Cette conversion doit être effectuée de la même manière que lorsqu’elle est alimentée au réseau pour l’entraînement.
Reportez-vous à la page Évaluer les transformations d’images pour plus d’informations, en particulier lors de la gestion des images.
Bien qu’un modèle déjà entraîné possède un ensemble spécifique de nœuds de sortie, il est parfois souhaitable d’obtenir les valeurs d’autres nœuds pendant l’évaluation (par exemple, les couches masquées). Cela est possible à l’aide de l’interface programmatique, reportez-vous à la page Évaluer les couches masquées pour plus d’informations.
Limites actuelles
- Évaluation thread unique. La bibliothèque EvalDll d’évaluation CNTK, et par extension la bibliothèque EvalWrapper managée, sont threadées et retrancy uniques. Les évaluations simultanées d’une instance de modèle unique ne sont pas prises en charge. Toutefois, il est possible de charger plusieurs instances d’un modèle et d’évaluer chaque modèle avec un seul thread. Cela permet à plusieurs modèles d’être évalués en parallèle, mais chaque modèle avec un seul thread.
- Tout programme qui lie les bibliothèques d’évaluation prédéfinies (
Cntk.Eval
etCntk.Eval.Wrapper
les DLL dans Windows, etlibCntk.Eval
sous Linux) du package binaire CNTK doit utiliser la même version du compilateur que celle utilisée pour générer les bibliothèques prédéfinies.