Compartir a través de


CNTK Evaluación mediante cntk.exe

Evaluación de un modelo mediante cntk.exe

Evaluar un modelo con el propio ejecutable de CNTK, es decir, cntk.exe, es similar al proceso de entrenamiento. Pero en lugar de usar el comando "train", el comando "eval" se coloca en el archivo de configuración.

El uso del archivo ejecutable CNTK para la evaluación tiene las siguientes ventajas:

Funcionalidad de CPU/GPU

Al igual que el entrenamiento, CNTK puede aprovechar la GPU durante la evaluación. Consulte la página Información general del archivo de configuración para obtener más detalles.

Lectores (y sus transformaciones)

De forma similar al entrenamiento del modelo, los complementos de lector (por ejemplo, ImageReader) pueden realizar algunas transformaciones de datos en los datos de entrada antes de alimentarlos a la red durante el entrenamiento. Estas transformaciones no forman parte de CNTK (por se), sino de los lectores. Para alimentar los mismos datos transformados durante la evaluación, las transformaciones deben producirse antes de alimentarse. Al evaluar mediante el archivo ejecutable de CNTK, se puede usar el mismo lector (que se usa durante la evaluación) y, por tanto, se puede aplicar la misma transformación. Como trataremos más adelante en esta página, al usar el enfoque mediante programación, estas transformaciones deberán realizarse mediante programación fuera del motor de evaluación antes de enviar los datos para su evaluación (suponiendo que el modelo se entrene con datos transformados).

Ajuste del modelo

Al usar CNTK para la evaluación, existe la posibilidad de modificar el diseño del modelo mediante BrainScript. Esto permite funcionalidades adicionales, como exponer capas ocultas para su evaluación. Consulte la página BrainScript para obtener más información.

El uso del archivo ejecutable CNTK para la evaluación tiene las siguientes desventajas:

Tiempo de puesta en marcha del proceso

El archivo ejecutable de CNTK (por naturaleza) se ejecuta como un proceso y, por tanto, tardará algún tiempo en ponerse en marcha. En el caso de los servicios en los que es necesario procesar dinámicamente muchas solicitudes, la mejor opción sería usar la biblioteca de evaluación en un servicio.

Entrada/salida basada en archivos

El CNTK ejecutable lee los datos de entrada de los archivos y escribe los datos de salida en un archivo. En el caso de los servicios que se ejecutan en la nube, esto puede provocar algunos problemas de rendimiento.

Nota: Si va a la ruta de evaluación de un modelo de CNTK con el ejecutable de CNTK, asegúrese de que los parámetros son adecuados para la evaluación. En concreto, se especifica un tamaño adecuado para MiniBatchSize. Consulte la página Solución de problemas de CNTK para obtener más información.