Compartir a través de


Introducción a la evaluación de EvalDLL

La biblioteca EvalDLL proporciona métodos para evaluar los modelos de CNTK previamente entrenados que se guardan en el formato CNTK model-v1. Está disponible en C++ (en Windows y Linux) y C# (solo en Windows).

Evaluación de diferentes tipos de datos y capas

Actualmente, la biblioteca Eval admite vectores para la entrada y salida. Esto significa que el vector de entrada debe coincidir con los nodos de entrada del modelo (características). Algunos modelos se entrenan con imágenes (por ejemplo, CIFAR-10), pero estas imágenes se vectorizan primero en la red. Por ejemplo, el conjunto de datos CIFAR-10 se compone de imágenes pequeñas (32 píxeles por 32 píxeles) o valores RGB. Aunque cada una de ellas es una coordenada dimensional (ancho, alto, color), los datos se vectorizan en un vector de 1 dimensión. Por lo tanto, es importante convertir los datos sin procesar al formato vectorial antes de la evaluación. Esta conversión debe realizarse de la misma manera que cuando se alimenta a la red para el entrenamiento.

Consulte la página Evaluar transformaciones de imagen para obtener más información, especialmente cuando se trabaja con imágenes.

Aunque un modelo ya entrenado tiene un conjunto específico de nodos de salida, a veces es conveniente obtener los valores de otros nodos durante la evaluación (por ejemplo, capas ocultas). Esto es posible mediante la interfaz de programación, consulte la página Evaluar capas ocultas para obtener más información.

Limitaciones actuales

  • Evaluación de un único subproceso. La biblioteca EvalDll de evaluación de CNTK y, por extensión, la biblioteca administrada de EvalWrapper, son un solo subproceso y una única reintención. No se admiten evaluaciones simultáneas de una sola instancia de modelo. Sin embargo, es posible cargar varias instancias de un modelo y evaluar cada modelo con un único subproceso. Esto permite evaluar varios modelos en paralelo, pero cada modelo con un único subproceso.
  • Cualquier programa que vincule las bibliotecas de evaluación pregeneradas (Cntk.Eval y Cntk.Eval.Wrapper dll en Windows y libCntk.Eval en Linux) del paquete binario de CNTK debe usar la misma versión del compilador que se usa para compilar las bibliotecas precompiladas.