Amazon Rekognition

2022/07/26 - Amazon Rekognition - 2 updated api methods

Changes  This release introduces support for the automatic scaling of inference units used by Amazon Rekognition Custom Labels models.

DescribeProjectVersions (updated) Link ¶
Changes (response)
{'ProjectVersionDescriptions': {'MaxInferenceUnits': 'integer'}}

Lists and describes the versions of a model in an Amazon Rekognition Custom Labels project. You can specify up to 10 model versions in ProjectVersionArns. If you don't specify a value, descriptions for all model versions in the project are returned.

This operation requires permissions to perform the rekognition:DescribeProjectVersions action.

See also: AWS API Documentation

Request Syntax

client.describe_project_versions(
    ProjectArn='string',
    VersionNames=[
        'string',
    ],
    NextToken='string',
    MaxResults=123
)
type ProjectArn:

string

param ProjectArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the project that contains the models you want to describe.

type VersionNames:

list

param VersionNames:

A list of model version names that you want to describe. You can add up to 10 model version names to the list. If you don't specify a value, all model descriptions are returned. A version name is part of a model (ProjectVersion) ARN. For example, my-model.2020-01-21T09.10.15 is the version name in the following ARN. arn:aws:rekognition:us-east-1:123456789012:project/getting-started/version/my-model.2020-01-21T09.10.15/1234567890123.

  • (string) --

type NextToken:

string

param NextToken:

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100.

rtype:

dict

returns:

Response Syntax

{
    'ProjectVersionDescriptions': [
        {
            'ProjectVersionArn': 'string',
            'CreationTimestamp': datetime(2015, 1, 1),
            'MinInferenceUnits': 123,
            'Status': 'TRAINING_IN_PROGRESS'|'TRAINING_COMPLETED'|'TRAINING_FAILED'|'STARTING'|'RUNNING'|'FAILED'|'STOPPING'|'STOPPED'|'DELETING',
            'StatusMessage': 'string',
            'BillableTrainingTimeInSeconds': 123,
            'TrainingEndTimestamp': datetime(2015, 1, 1),
            'OutputConfig': {
                'S3Bucket': 'string',
                'S3KeyPrefix': 'string'
            },
            'TrainingDataResult': {
                'Input': {
                    'Assets': [
                        {
                            'GroundTruthManifest': {
                                'S3Object': {
                                    'Bucket': 'string',
                                    'Name': 'string',
                                    'Version': 'string'
                                }
                            }
                        },
                    ]
                },
                'Output': {
                    'Assets': [
                        {
                            'GroundTruthManifest': {
                                'S3Object': {
                                    'Bucket': 'string',
                                    'Name': 'string',
                                    'Version': 'string'
                                }
                            }
                        },
                    ]
                },
                'Validation': {
                    'Assets': [
                        {
                            'GroundTruthManifest': {
                                'S3Object': {
                                    'Bucket': 'string',
                                    'Name': 'string',
                                    'Version': 'string'
                                }
                            }
                        },
                    ]
                }
            },
            'TestingDataResult': {
                'Input': {
                    'Assets': [
                        {
                            'GroundTruthManifest': {
                                'S3Object': {
                                    'Bucket': 'string',
                                    'Name': 'string',
                                    'Version': 'string'
                                }
                            }
                        },
                    ],
                    'AutoCreate': True|False
                },
                'Output': {
                    'Assets': [
                        {
                            'GroundTruthManifest': {
                                'S3Object': {
                                    'Bucket': 'string',
                                    'Name': 'string',
                                    'Version': 'string'
                                }
                            }
                        },
                    ],
                    'AutoCreate': True|False
                },
                'Validation': {
                    'Assets': [
                        {
                            'GroundTruthManifest': {
                                'S3Object': {
                                    'Bucket': 'string',
                                    'Name': 'string',
                                    'Version': 'string'
                                }
                            }
                        },
                    ]
                }
            },
            'EvaluationResult': {
                'F1Score': ...,
                'Summary': {
                    'S3Object': {
                        'Bucket': 'string',
                        'Name': 'string',
                        'Version': 'string'
                    }
                }
            },
            'ManifestSummary': {
                'S3Object': {
                    'Bucket': 'string',
                    'Name': 'string',
                    'Version': 'string'
                }
            },
            'KmsKeyId': 'string',
            'MaxInferenceUnits': 123
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • ProjectVersionDescriptions (list) --

      A list of model descriptions. The list is sorted by the creation date and time of the model versions, latest to earliest.

      • (dict) --

        A description of a version of an Amazon Rekognition Custom Labels model.

        • ProjectVersionArn (string) --

          The Amazon Resource Name (ARN) of the model version.

        • CreationTimestamp (datetime) --

          The Unix datetime for the date and time that training started.

        • MinInferenceUnits (integer) --

          The minimum number of inference units used by the model. For more information, see StartProjectVersion.

        • Status (string) --

          The current status of the model version.

        • StatusMessage (string) --

          A descriptive message for an error or warning that occurred.

        • BillableTrainingTimeInSeconds (integer) --

          The duration, in seconds, that you were billed for a successful training of the model version. This value is only returned if the model version has been successfully trained.

        • TrainingEndTimestamp (datetime) --

          The Unix date and time that training of the model ended.

        • OutputConfig (dict) --

          The location where training results are saved.

          • S3Bucket (string) --

            The S3 bucket where training output is placed.

          • S3KeyPrefix (string) --

            The prefix applied to the training output files.

        • TrainingDataResult (dict) --

          Contains information about the training results.

          • Input (dict) --

            The training assets that you supplied for training.

            • Assets (list) --

              A Sagemaker GroundTruth manifest file that contains the training images (assets).

              • (dict) --

                Assets are the images that you use to train and evaluate a model version. Assets can also contain validation information that you use to debug a failed model training.

                • 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.

          • Output (dict) --

            The images (assets) that were actually trained by Amazon Rekognition Custom Labels.

            • Assets (list) --

              A Sagemaker GroundTruth manifest file that contains the training images (assets).

              • (dict) --

                Assets are the images that you use to train and evaluate a model version. Assets can also contain validation information that you use to debug a failed model training.

                • 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.

          • Validation (dict) --

            The location of the data validation manifest. The data validation manifest is created for the training dataset during model training.

            • Assets (list) --

              The assets that comprise the validation data.

              • (dict) --

                Assets are the images that you use to train and evaluate a model version. Assets can also contain validation information that you use to debug a failed model training.

                • 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.

        • TestingDataResult (dict) --

          Contains information about the testing results.

          • Input (dict) --

            The testing dataset that was supplied for training.

            • Assets (list) --

              The assets used for testing.

              • (dict) --

                Assets are the images that you use to train and evaluate a model version. Assets can also contain validation information that you use to debug a failed model training.

                • 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.

            • AutoCreate (boolean) --

              If specified, Amazon Rekognition Custom Labels temporarily splits the training dataset (80%) to create a test dataset (20%) for the training job. After training completes, the test dataset is not stored and the training dataset reverts to its previous size.

          • Output (dict) --

            The subset of the dataset that was actually tested. Some images (assets) might not be tested due to file formatting and other issues.

            • Assets (list) --

              The assets used for testing.

              • (dict) --

                Assets are the images that you use to train and evaluate a model version. Assets can also contain validation information that you use to debug a failed model training.

                • 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.

            • AutoCreate (boolean) --

              If specified, Amazon Rekognition Custom Labels temporarily splits the training dataset (80%) to create a test dataset (20%) for the training job. After training completes, the test dataset is not stored and the training dataset reverts to its previous size.

          • Validation (dict) --

            The location of the data validation manifest. The data validation manifest is created for the test dataset during model training.

            • Assets (list) --

              The assets that comprise the validation data.

              • (dict) --

                Assets are the images that you use to train and evaluate a model version. Assets can also contain validation information that you use to debug a failed model training.

                • 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.

        • EvaluationResult (dict) --

          The training results. EvaluationResult is only returned if training is successful.

          • F1Score (float) --

            The F1 score for the evaluation of all labels. The F1 score metric evaluates the overall precision and recall performance of the model as a single value. A higher value indicates better precision and recall performance. A lower score indicates that precision, recall, or both are performing poorly.

          • Summary (dict) --

            The S3 bucket that contains the training summary.

            • 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.

        • ManifestSummary (dict) --

          The location of the summary manifest. The summary manifest provides aggregate data validation results for the training and test datasets.

          • 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.

        • KmsKeyId (string) --

          The identifer for the AWS Key Management Service key (AWS KMS key) that was used to encrypt the model during training.

        • MaxInferenceUnits (integer) --

          The maximum number of inference units Amazon Rekognition Custom Labels uses to auto-scale the model. For more information, see StartProjectVersion.

    • NextToken (string) --

      If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

StartProjectVersion (updated) Link ¶
Changes (request)
{'MaxInferenceUnits': 'integer'}

Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels.

For more information, see Running a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels Guide.

This operation requires permissions to perform the rekognition:StartProjectVersion action.

See also: AWS API Documentation

Request Syntax

client.start_project_version(
    ProjectVersionArn='string',
    MinInferenceUnits=123,
    MaxInferenceUnits=123
)
type ProjectVersionArn:

string

param ProjectVersionArn:

[REQUIRED]

The Amazon Resource Name(ARN) of the model version that you want to start.

type MinInferenceUnits:

integer

param MinInferenceUnits:

[REQUIRED]

The minimum number of inference units to use. A single inference unit represents 1 hour of processing.

For information about the number of transactions per second (TPS) that an inference unit can support, see Running a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels Guide.

Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use.

type MaxInferenceUnits:

integer

param MaxInferenceUnits:

The maximum number of inference units to use for auto-scaling the model. If you don't specify a value, Amazon Rekognition Custom Labels doesn't auto-scale the model.

rtype:

dict

returns:

Response Syntax

{
    'Status': 'TRAINING_IN_PROGRESS'|'TRAINING_COMPLETED'|'TRAINING_FAILED'|'STARTING'|'RUNNING'|'FAILED'|'STOPPING'|'STOPPED'|'DELETING'
}

Response Structure

  • (dict) --

    • Status (string) --

      The current running status of the model.