Rekognition / Client / create_dataset



Creates a new Amazon Rekognition Custom Labels dataset. You can create a dataset by using an Amazon Sagemaker format manifest file or by copying an existing Amazon Rekognition Custom Labels dataset.

To create a training dataset for a project, specify train for the value of DatasetType. To create the test dataset for a project, specify test for the value of DatasetType.

The response from CreateDataset is the Amazon Resource Name (ARN) for the dataset. Creating a dataset takes a while to complete. Use DescribeDataset to check the current status. The dataset created successfully if the value of Status is CREATE_COMPLETE.

To check if any non-terminal errors occurred, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset creation fails if a terminal error occurs ( Status = CREATE_FAILED). Currently, you can’t access the terminal error information.

For more information, see Creating dataset in the Amazon Rekognition Custom Labels Developer Guide.

This operation requires permissions to perform the rekognition:CreateDataset action. If you want to copy an existing dataset, you also require permission to perform the rekognition:ListDatasetEntries action.

See also: AWS API Documentation

Request Syntax

response = client.create_dataset(
        'GroundTruthManifest': {
            'S3Object': {
                'Bucket': 'string',
                'Name': 'string',
                'Version': 'string'
        'DatasetArn': 'string'
  • DatasetSource (dict) –

    The source files for the dataset. You can specify the ARN of an existing dataset or specify the Amazon S3 bucket location of an Amazon Sagemaker format manifest file. If you don’t specify datasetSource, an empty dataset is created. To add labeled images to the dataset, You can use the console or call UpdateDatasetEntries.

    • GroundTruthManifest (dict) –

      The S3 bucket that contains an Amazon Sagemaker Ground Truth format manifest file.

      • S3Object (dict) –

        Provides the S3 bucket name and object name.

        The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.

        For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see How Amazon Rekognition works with IAM in the Amazon Rekognition Developer Guide.

        • Bucket (string) –

          Name of the S3 bucket.

        • Name (string) –

          S3 object key name.

        • Version (string) –

          If the bucket is versioning enabled, you can specify the object version.

    • DatasetArn (string) –

      The ARN of an Amazon Rekognition Custom Labels dataset that you want to copy.

  • DatasetType (string) –


    The type of the dataset. Specify train to create a training dataset. Specify test to create a test dataset.

  • ProjectArn (string) –


    The ARN of the Amazon Rekognition Custom Labels project to which you want to asssign the dataset.

Return type:



Response Syntax

    'DatasetArn': 'string'

Response Structure

  • (dict) –

    • DatasetArn (string) –

      The ARN of the created Amazon Rekognition Custom Labels dataset.


  • Rekognition.Client.exceptions.InternalServerError

  • Rekognition.Client.exceptions.ThrottlingException

  • Rekognition.Client.exceptions.ProvisionedThroughputExceededException

  • Rekognition.Client.exceptions.InvalidParameterException

  • Rekognition.Client.exceptions.AccessDeniedException

  • Rekognition.Client.exceptions.LimitExceededException

  • Rekognition.Client.exceptions.InvalidS3ObjectException

  • Rekognition.Client.exceptions.ResourceAlreadyExistsException

  • Rekognition.Client.exceptions.ResourceNotFoundException