Qué son los manifiestos de resultados de validación de entrenamiento y de prueba - Rekognition

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Qué son los manifiestos de resultados de validación de entrenamiento y de prueba

Durante el entrenamiento, Amazon Rekognition Custom Labels crea manifiestos de resultados de validación para contener errores de línea no terminales. JSON Los manifiestos de resultados de validación son copias de los conjuntos de datos de entrenamiento y de prueba a los que se agrega información sobre los errores. Puede acceder a los manifiestos de validación una vez completado el entrenamiento. Para obtener más información, consulte Cómo obtener los resultados de la validación. Amazon Rekognition Custom Labels también crea un resumen del manifiesto que incluye JSON información general sobre los errores de línea, como las ubicaciones de los errores y los recuentos de errores JSON de línea. Para obtener más información, consulte Qué es el resumen del manifiesto.

nota

Los resultados de la validación (los manifiestos de resultados de validación y el resumen del manifiesto del entrenamiento y de las pruebas) solo se crean si no hay Lista de errores del archivo de manifiesto de terminal.

Un manifiesto contiene JSON líneas para cada imagen del conjunto de datos. En los manifiestos de resultados de la validación, JSON la información sobre los errores de línea se agrega a las JSON líneas en las que se producen los errores.

Un error de JSON línea es un error no terminal relacionado con una sola imagen. Un error de validación no terminal puede invalidar toda la JSON línea o solo una parte. Por ejemplo, si la imagen a la que se hace referencia en una JSON línea no está en JPG formato PNG o formato, se produce un ERROR_INVALID_IMAGE error y toda la JSON línea queda excluida del entrenamiento. El entrenamiento continúa con otras JSON líneas válidas.

Dentro de una JSON línea, un error podría significar que la JSON línea aún se puede usar para entrenar. Por ejemplo, si el valor de la izquierda de uno de los cuatro cuadros delimitadores asociados a una etiqueta es negativo, el modelo seguirá entrenándose con los demás cuadros delimitadores válidos. JSONSe devuelve información de error de línea para el cuadro delimitador no válido (ERROR_INVALID_BOUNDING_BOX). En este ejemplo, la información del error se agrega al objeto annotation en el que se produce el error.

Los errores de advertencia, por ejemploWARNING_NO_ ANNOTATIONS, no se utilizan para el entrenamiento y se consideran JSON líneas ignoradas (ignored_json_lines) en el resumen del manifiesto. Para obtener más información, consulte Qué es el resumen del manifiesto. Además, JSON las líneas ignoradas no se tienen en cuenta para el umbral de error del 20% en los entrenamientos y las pruebas.

Para obtener información sobre errores específicos de validación de datos no terminales, consulteErrores de validación de JSON líneas no terminales.

nota

Si hay demasiados errores de validación de datos, se detendrá el entrenamiento y se registrará el error terminal ERROR_ _ TOO _ MANY _ INVALID ROWS _EN_ MANIFEST en el resumen del manifiesto.

Para obtener información sobre cómo corregir los errores JSON de línea, consulteSoluciones de errores de entrenamiento.

JSONformato de error de línea

Las etiquetas personalizadas de Amazon Rekognition añaden información sobre errores de validación no relacionados con el terminal a las líneas con formato de localización de objetos y a nivel de imagen. JSON Para obtener más información, consulte Creación de un archivo de manifiesto.

Errores relacionados con imágenes

El siguiente ejemplo muestra las Error matrices en una línea a nivel de imagen. JSON Hay dos tipos de errores. Errores relacionados con los metadatos de los atributos de etiqueta (en este ejemplo, sport-metadata) y errores relacionados con la imagen. El error incluye un código de error (code) y un mensaje de error (message). Para obtener más información, consulte Importación de etiquetas a nivel de imagen en archivos de manifiesto.

{ "source-ref": String, "sport": Number, "sport-metadata": { "class-name": String, "confidence": Float, "type": String, "job-name": String, "human-annotated": String, "creation-date": String, "errors": [ { "code": String, # error codes for label "message": String # Description and additional contextual details of the error } ] }, "errors": [ { "code": String, # error codes for image "message": String # Description and additional contextual details of the error } ] }

Errores de localización de objetos

El siguiente ejemplo muestra las matrices de errores en una línea de localización JSON de objetos. La JSON línea contiene una Errors matriz de información para los campos de las siguientes secciones de JSON línea. Cada objeto Error incluye el código de error y el mensaje de error.

  • label attribute: errores en los campos de atributos de etiqueta. Consulte bounding-box en el ejemplo.

  • annotations: los errores de anotaciones (cuadros delimitadores) se almacenan en la matriz annotations dentro del atributo de etiqueta.

  • label attribute-metadata: errores en los metadatos de atributos de etiqueta. Consulte bounding-box-metadata en el ejemplo.

  • image: errores no relacionados con los campos de atributos de etiqueta, anotaciones ni metadatos de atributos de etiqueta.

Para obtener más información, consulte Localización de objetos en archivos de manifiesto.

{ "source-ref": String, "bounding-box": { "image_size": [ { "width": Int, "height": Int, "depth":Int, } ], "annotations": [ { "class_id": Int, "left": Int, "top": Int, "width": Int, "height": Int, "errors": [ # annotation field errors { "code": String, # annotation field error code "message": String # Description and additional contextual details of the error } ] } ], "errors": [ #label attribute field errors { "code": String, # error code "message": String # Description and additional contextual details of the error } ] }, "bounding-box-metadata": { "objects": [ { "confidence": Float } ], "class-map": { String: String }, "type": String, "human-annotated": String, "creation-date": String, "job-name": String, "errors": [ #metadata field errors { "code": String, # error code "message": String # Description and additional contextual details of the error } ] }, "errors": [ # image errors { "code": String, # error code "message": String # Description and additional contextual details of the error } ] }

Ejemplo de error JSON de línea

La siguiente JSON línea de localización del objeto (formateada para facilitar la lectura) muestra un ERROR_BOUNDING_BOX_TOO_SMALL error. En este ejemplo, las dimensiones del cuadro delimitador (alto y ancho) no son superiores a 1 x 1.

{ "source-ref": "s3://bucket/Manifests/images/199940-1791.jpg", "bounding-box": { "image_size": [ { "width": 3000, "height": 3000, "depth": 3 } ], "annotations": [ { "class_id": 1, "top": 0, "left": 0, "width": 1, "height": 1, "errors": [ { "code": "ERROR_BOUNDING_BOX_TOO_SMALL", "message": "The height and width of the bounding box is too small." } ] }, { "class_id": 0, "top": 65, "left": 86, "width": 220, "height": 334 } ] }, "bounding-box-metadata": { "objects": [ { "confidence": 1 }, { "confidence": 1 } ], "class-map": { "0": "Echo", "1": "Echo Dot" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2019-11-20T02:57:28.288286", "job-name": "my job" } }