Listado de entradas del conjunto de datos (SDK) - 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.

Listado de entradas del conjunto de datos (SDK)

Puede usar la API de ListDatasetEntries para ver las líneas JSON de cada imagen en un conjunto de datos. Para obtener más información, consulte Creación de un archivo de manifiesto.

Cómo ver las entradas del conjunto de datos (SDK)
  1. Si aún no lo ha hecho, instale y configure la AWS CLI y los SDK de AWS. Para obtener más información, consulte Paso 4: Configure los SDK y AWS CLIAWS.

  2. Usa el siguiente ejemplo para ver las entradas en un conjunto de datos.

    AWS CLI

    Cambie el valor de dataset-arn por el ARN del conjunto de datos que desee ver.

    aws rekognition list-dataset-entries --dataset-arn dataset_arn \ --profile custom-labels-access

    Para ver solo las líneas JSON con errores, indique has-errors.

    aws rekognition list-dataset-entries --dataset-arn dataset_arn \ --has-errors \ --profile custom-labels-access
    Python

    Utilice el siguiente código. Indique los siguientes parámetros de línea de comandos:

    • dataset_arn: el ARN del conjunto de datos que desea ver.

    • show_errors_only: indique true si quiere ver solo los errores. Si no, elija false.

    # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Purpose Shows how to list the entries in an Amazon Rekognition Custom Labels dataset. """ import argparse import logging import boto3 from botocore.exceptions import ClientError logger = logging.getLogger(__name__) def list_dataset_entries(rek_client, dataset_arn, show_errors): """ Lists the entries in an Amazon Rekognition Custom Labels dataset. :param rek_client: The Amazon Rekognition Custom Labels Boto3 client. :param dataset_arn: The ARN of the dataet that you want to use. """ try: # List the entries. logger.info("Listing dataset entries for the dataset %s.", dataset_arn) finished = False count = 0 next_token = "" show_errors_only = False if show_errors.lower() == "true": show_errors_only = True while finished is False: response = rek_client.list_dataset_entries( DatasetArn=dataset_arn, HasErrors=show_errors_only, MaxResults=100, NextToken=next_token) count += len(response['DatasetEntries']) for entry in response['DatasetEntries']: print(entry) if 'NextToken' not in response: finished = True logger.info("No more entries. Total:%s", count) else: next_token = next_token = response['NextToken'] logger.info("Getting more entries. Total so far :%s", count) except ClientError as err: logger.exception( "Couldn't list dataset: %s", err.response['Error']['Message']) raise def add_arguments(parser): """ Adds command line arguments to the parser. :param parser: The command line parser. """ parser.add_argument( "dataset_arn", help="The ARN of the dataset that you want to list." ) parser.add_argument( "show_errors_only", help="true if you want to see errors only. false otherwise." ) def main(): logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") try: # Get command line arguments. parser = argparse.ArgumentParser(usage=argparse.SUPPRESS) add_arguments(parser) args = parser.parse_args() print(f"Listing entries for dataset {args.dataset_arn}") # List the dataset entries. session = boto3.Session(profile_name='custom-labels-access') rekognition_client = session.client("rekognition") list_dataset_entries(rekognition_client, args.dataset_arn, args.show_errors_only) print(f"Finished listing entries for dataset: {args.dataset_arn}") except ClientError as err: error_message = f"Problem listing dataset: {err}" logger.exception(error_message) print(error_message) except Exception as err: error_message = f"Problem listing dataset: {err}" logger.exception(error_message) print(error_message) if __name__ == "__main__": main()
    Java V2

    Utilice el siguiente código. Indique los siguientes parámetros de línea de comandos:

    • dataset_arn: el ARN del conjunto de datos que desea ver.

    • show_errors_only: indique true si quiere ver solo los errores. Si no, elija false.

    /* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 */ package com.example.rekognition; import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.rekognition.RekognitionClient; import software.amazon.awssdk.services.rekognition.model.ListDatasetEntriesRequest; import software.amazon.awssdk.services.rekognition.model.RekognitionException; import software.amazon.awssdk.services.rekognition.paginators.ListDatasetEntriesIterable; import java.net.URI; import java.util.logging.Level; import java.util.logging.Logger; public class ListDatasetEntries { public static final Logger logger = Logger.getLogger(ListDatasetEntries.class.getName()); public static void listMyDatasetEntries(RekognitionClient rekClient, String datasetArn, boolean showErrorsOnly) throws Exception, RekognitionException { try { logger.log(Level.INFO, "Listing dataset {0}", new Object[] { datasetArn }); ListDatasetEntriesRequest listDatasetEntriesRequest = ListDatasetEntriesRequest.builder() .hasErrors(showErrorsOnly).datasetArn(datasetArn).maxResults(1).build(); ListDatasetEntriesIterable datasetEntriesList = rekClient .listDatasetEntriesPaginator(listDatasetEntriesRequest); datasetEntriesList.stream().flatMap(r -> r.datasetEntries().stream()) .forEach(datasetEntry -> System.out.println(datasetEntry.toString())); } catch (RekognitionException e) { logger.log(Level.SEVERE, "Could not update dataset: {0}", e.getMessage()); throw e; } } public static void main(String args[]) { boolean showErrorsOnly = false; String datasetArn = null; final String USAGE = "\n" + "Usage: " + "<project_arn> <dataset_arn> <updates_file>\n\n" + "Where:\n" + " dataset_arn - the ARN of the dataset that you want to update.\n\n" + " show_errors_only - true to show only errors. false otherwise.\n\n"; if (args.length != 2) { System.out.println(USAGE); System.exit(1); } datasetArn = args[0]; if (args[1].toLowerCase().equals("true")) { showErrorsOnly = true; } try { // Get the Rekognition client. RekognitionClient rekClient = RekognitionClient.builder() .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access")) .region(Region.US_WEST_2) .build(); // list the dataset entries. listMyDatasetEntries(rekClient, datasetArn, showErrorsOnly); System.out.println(String.format("Finished listing entries for : %s", datasetArn)); rekClient.close(); } catch (RekognitionException rekError) { logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage()); System.exit(1); } catch (Exception rekError) { logger.log(Level.SEVERE, "Error: {0}", rekError.getMessage()); System.exit(1); } } }