Amazon SageMaker Service

2022/10/24 - Amazon SageMaker Service - 1 new 2 updated api methods

Changes  SageMaker Inference Recommender now supports a new API ListInferenceRecommendationJobSteps to return the details of all the benchmark we create for an inference recommendation job.

ListInferenceRecommendationsJobSteps (new) Link ¶

Returns a list of the subtasks for an Inference Recommender job.

The supported subtasks are benchmarks, which evaluate the performance of your model on different instance types.

See also: AWS API Documentation

Request Syntax

client.list_inference_recommendations_job_steps(
    JobName='string',
    Status='PENDING'|'IN_PROGRESS'|'COMPLETED'|'FAILED'|'STOPPING'|'STOPPED',
    StepType='BENCHMARK',
    MaxResults=123,
    NextToken='string'
)
type JobName

string

param JobName

[REQUIRED]

The name for the Inference Recommender job.

type Status

string

param Status

A filter to return benchmarks of a specified status. If this field is left empty, then all benchmarks are returned.

type StepType

string

param StepType

A filter to return details about the specified type of subtask.

BENCHMARK : Evaluate the performance of your model on different instance types.

type MaxResults

integer

param MaxResults

The maximum number of results to return.

type NextToken

string

param NextToken

A token that you can specify to return more results from the list. Specify this field if you have a token that was returned from a previous request.

rtype

dict

returns

Response Syntax

{
    'Steps': [
        {
            'StepType': 'BENCHMARK',
            'JobName': 'string',
            'Status': 'PENDING'|'IN_PROGRESS'|'COMPLETED'|'FAILED'|'STOPPING'|'STOPPED',
            'InferenceBenchmark': {
                'Metrics': {
                    'CostPerHour': ...,
                    'CostPerInference': ...,
                    'MaxInvocations': 123,
                    'ModelLatency': 123
                },
                'EndpointConfiguration': {
                    'EndpointName': 'string',
                    'VariantName': 'string',
                    'InstanceType': 'ml.t2.medium'|'ml.t2.large'|'ml.t2.xlarge'|'ml.t2.2xlarge'|'ml.m4.xlarge'|'ml.m4.2xlarge'|'ml.m4.4xlarge'|'ml.m4.10xlarge'|'ml.m4.16xlarge'|'ml.m5.large'|'ml.m5.xlarge'|'ml.m5.2xlarge'|'ml.m5.4xlarge'|'ml.m5.12xlarge'|'ml.m5.24xlarge'|'ml.m5d.large'|'ml.m5d.xlarge'|'ml.m5d.2xlarge'|'ml.m5d.4xlarge'|'ml.m5d.12xlarge'|'ml.m5d.24xlarge'|'ml.c4.large'|'ml.c4.xlarge'|'ml.c4.2xlarge'|'ml.c4.4xlarge'|'ml.c4.8xlarge'|'ml.p2.xlarge'|'ml.p2.8xlarge'|'ml.p2.16xlarge'|'ml.p3.2xlarge'|'ml.p3.8xlarge'|'ml.p3.16xlarge'|'ml.c5.large'|'ml.c5.xlarge'|'ml.c5.2xlarge'|'ml.c5.4xlarge'|'ml.c5.9xlarge'|'ml.c5.18xlarge'|'ml.c5d.large'|'ml.c5d.xlarge'|'ml.c5d.2xlarge'|'ml.c5d.4xlarge'|'ml.c5d.9xlarge'|'ml.c5d.18xlarge'|'ml.g4dn.xlarge'|'ml.g4dn.2xlarge'|'ml.g4dn.4xlarge'|'ml.g4dn.8xlarge'|'ml.g4dn.12xlarge'|'ml.g4dn.16xlarge'|'ml.r5.large'|'ml.r5.xlarge'|'ml.r5.2xlarge'|'ml.r5.4xlarge'|'ml.r5.12xlarge'|'ml.r5.24xlarge'|'ml.r5d.large'|'ml.r5d.xlarge'|'ml.r5d.2xlarge'|'ml.r5d.4xlarge'|'ml.r5d.12xlarge'|'ml.r5d.24xlarge'|'ml.inf1.xlarge'|'ml.inf1.2xlarge'|'ml.inf1.6xlarge'|'ml.inf1.24xlarge'|'ml.c6i.large'|'ml.c6i.xlarge'|'ml.c6i.2xlarge'|'ml.c6i.4xlarge'|'ml.c6i.8xlarge'|'ml.c6i.12xlarge'|'ml.c6i.16xlarge'|'ml.c6i.24xlarge'|'ml.c6i.32xlarge'|'ml.g5.xlarge'|'ml.g5.2xlarge'|'ml.g5.4xlarge'|'ml.g5.8xlarge'|'ml.g5.12xlarge'|'ml.g5.16xlarge'|'ml.g5.24xlarge'|'ml.g5.48xlarge'|'ml.p4d.24xlarge'|'ml.c7g.large'|'ml.c7g.xlarge'|'ml.c7g.2xlarge'|'ml.c7g.4xlarge'|'ml.c7g.8xlarge'|'ml.c7g.12xlarge'|'ml.c7g.16xlarge'|'ml.m6g.large'|'ml.m6g.xlarge'|'ml.m6g.2xlarge'|'ml.m6g.4xlarge'|'ml.m6g.8xlarge'|'ml.m6g.12xlarge'|'ml.m6g.16xlarge'|'ml.m6gd.large'|'ml.m6gd.xlarge'|'ml.m6gd.2xlarge'|'ml.m6gd.4xlarge'|'ml.m6gd.8xlarge'|'ml.m6gd.12xlarge'|'ml.m6gd.16xlarge'|'ml.c6g.large'|'ml.c6g.xlarge'|'ml.c6g.2xlarge'|'ml.c6g.4xlarge'|'ml.c6g.8xlarge'|'ml.c6g.12xlarge'|'ml.c6g.16xlarge'|'ml.c6gd.large'|'ml.c6gd.xlarge'|'ml.c6gd.2xlarge'|'ml.c6gd.4xlarge'|'ml.c6gd.8xlarge'|'ml.c6gd.12xlarge'|'ml.c6gd.16xlarge'|'ml.c6gn.large'|'ml.c6gn.xlarge'|'ml.c6gn.2xlarge'|'ml.c6gn.4xlarge'|'ml.c6gn.8xlarge'|'ml.c6gn.12xlarge'|'ml.c6gn.16xlarge'|'ml.r6g.large'|'ml.r6g.xlarge'|'ml.r6g.2xlarge'|'ml.r6g.4xlarge'|'ml.r6g.8xlarge'|'ml.r6g.12xlarge'|'ml.r6g.16xlarge'|'ml.r6gd.large'|'ml.r6gd.xlarge'|'ml.r6gd.2xlarge'|'ml.r6gd.4xlarge'|'ml.r6gd.8xlarge'|'ml.r6gd.12xlarge'|'ml.r6gd.16xlarge',
                    'InitialInstanceCount': 123
                },
                'ModelConfiguration': {
                    'InferenceSpecificationName': 'string',
                    'EnvironmentParameters': [
                        {
                            'Key': 'string',
                            'ValueType': 'string',
                            'Value': 'string'
                        },
                    ]
                },
                'FailureReason': 'string'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Steps (list) --

      A list of all subtask details in Inference Recommender.

      • (dict) --

        A returned array object for the Steps response field in the ListInferenceRecommendationsJobSteps API command.

        • StepType (string) --

          The type of the subtask.

          BENCHMARK : Evaluate the performance of your model on different instance types.

        • JobName (string) --

          The name of the Inference Recommender job.

        • Status (string) --

          The current status of the benchmark.

        • InferenceBenchmark (dict) --

          The details for a specific benchmark.

          • Metrics (dict) --

            The metrics of recommendations.

            • CostPerHour (float) --

              Defines the cost per hour for the instance.

            • CostPerInference (float) --

              Defines the cost per inference for the instance .

            • MaxInvocations (integer) --

              The expected maximum number of requests per minute for the instance.

            • ModelLatency (integer) --

              The expected model latency at maximum invocation per minute for the instance.

          • EndpointConfiguration (dict) --

            The endpoint configuration made by Inference Recommender during a recommendation job.

            • EndpointName (string) --

              The name of the endpoint made during a recommendation job.

            • VariantName (string) --

              The name of the production variant (deployed model) made during a recommendation job.

            • InstanceType (string) --

              The instance type recommended by Amazon SageMaker Inference Recommender.

            • InitialInstanceCount (integer) --

              The number of instances recommended to launch initially.

          • ModelConfiguration (dict) --

            Defines the model configuration. Includes the specification name and environment parameters.

            • InferenceSpecificationName (string) --

              The inference specification name in the model package version.

            • EnvironmentParameters (list) --

              Defines the environment parameters that includes key, value types, and values.

              • (dict) --

                A list of environment parameters suggested by the Amazon SageMaker Inference Recommender.

                • Key (string) --

                  The environment key suggested by the Amazon SageMaker Inference Recommender.

                • ValueType (string) --

                  The value type suggested by the Amazon SageMaker Inference Recommender.

                • Value (string) --

                  The value suggested by the Amazon SageMaker Inference Recommender.

          • FailureReason (string) --

            The reason why a benchmark failed.

    • NextToken (string) --

      A token that you can specify in your next request to return more results from the list.

DescribeAutoMLJob (updated) Link ¶
Changes (response)
{'BestCandidate': {'CandidateProperties': {'CandidateMetrics': {'StandardMetricName': {'InferenceLatency'}}}}}

Returns information about an Amazon SageMaker AutoML job.

See also: AWS API Documentation

Request Syntax

client.describe_auto_ml_job(
    AutoMLJobName='string'
)
type AutoMLJobName

string

param AutoMLJobName

[REQUIRED]

Requests information about an AutoML job using its unique name.

rtype

dict

returns

Response Syntax

{
    'AutoMLJobName': 'string',
    'AutoMLJobArn': 'string',
    'InputDataConfig': [
        {
            'DataSource': {
                'S3DataSource': {
                    'S3DataType': 'ManifestFile'|'S3Prefix',
                    'S3Uri': 'string'
                }
            },
            'CompressionType': 'None'|'Gzip',
            'TargetAttributeName': 'string',
            'ContentType': 'string',
            'ChannelType': 'training'|'validation'
        },
    ],
    'OutputDataConfig': {
        'KmsKeyId': 'string',
        'S3OutputPath': 'string'
    },
    'RoleArn': 'string',
    'AutoMLJobObjective': {
        'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'
    },
    'ProblemType': 'BinaryClassification'|'MulticlassClassification'|'Regression',
    'AutoMLJobConfig': {
        'CompletionCriteria': {
            'MaxCandidates': 123,
            'MaxRuntimePerTrainingJobInSeconds': 123,
            'MaxAutoMLJobRuntimeInSeconds': 123
        },
        'SecurityConfig': {
            'VolumeKmsKeyId': 'string',
            'EnableInterContainerTrafficEncryption': True|False,
            'VpcConfig': {
                'SecurityGroupIds': [
                    'string',
                ],
                'Subnets': [
                    'string',
                ]
            }
        },
        'DataSplitConfig': {
            'ValidationFraction': ...
        },
        'CandidateGenerationConfig': {
            'FeatureSpecificationS3Uri': 'string'
        },
        'Mode': 'AUTO'|'ENSEMBLING'|'HYPERPARAMETER_TUNING'
    },
    'CreationTime': datetime(2015, 1, 1),
    'EndTime': datetime(2015, 1, 1),
    'LastModifiedTime': datetime(2015, 1, 1),
    'FailureReason': 'string',
    'PartialFailureReasons': [
        {
            'PartialFailureMessage': 'string'
        },
    ],
    'BestCandidate': {
        'CandidateName': 'string',
        'FinalAutoMLJobObjectiveMetric': {
            'Type': 'Maximize'|'Minimize',
            'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC',
            'Value': ...
        },
        'ObjectiveStatus': 'Succeeded'|'Pending'|'Failed',
        'CandidateSteps': [
            {
                'CandidateStepType': 'AWS::SageMaker::TrainingJob'|'AWS::SageMaker::TransformJob'|'AWS::SageMaker::ProcessingJob',
                'CandidateStepArn': 'string',
                'CandidateStepName': 'string'
            },
        ],
        'CandidateStatus': 'Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping',
        'InferenceContainers': [
            {
                'Image': 'string',
                'ModelDataUrl': 'string',
                'Environment': {
                    'string': 'string'
                }
            },
        ],
        'CreationTime': datetime(2015, 1, 1),
        'EndTime': datetime(2015, 1, 1),
        'LastModifiedTime': datetime(2015, 1, 1),
        'FailureReason': 'string',
        'CandidateProperties': {
            'CandidateArtifactLocations': {
                'Explainability': 'string',
                'ModelInsights': 'string'
            },
            'CandidateMetrics': [
                {
                    'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC',
                    'Value': ...,
                    'Set': 'Train'|'Validation'|'Test',
                    'StandardMetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'LogLoss'|'InferenceLatency'
                },
            ]
        }
    },
    'AutoMLJobStatus': 'Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping',
    'AutoMLJobSecondaryStatus': 'Starting'|'AnalyzingData'|'FeatureEngineering'|'ModelTuning'|'MaxCandidatesReached'|'Failed'|'Stopped'|'MaxAutoMLJobRuntimeReached'|'Stopping'|'CandidateDefinitionsGenerated'|'GeneratingExplainabilityReport'|'Completed'|'ExplainabilityError'|'DeployingModel'|'ModelDeploymentError'|'GeneratingModelInsightsReport'|'ModelInsightsError',
    'GenerateCandidateDefinitionsOnly': True|False,
    'AutoMLJobArtifacts': {
        'CandidateDefinitionNotebookLocation': 'string',
        'DataExplorationNotebookLocation': 'string'
    },
    'ResolvedAttributes': {
        'AutoMLJobObjective': {
            'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'
        },
        'ProblemType': 'BinaryClassification'|'MulticlassClassification'|'Regression',
        'CompletionCriteria': {
            'MaxCandidates': 123,
            'MaxRuntimePerTrainingJobInSeconds': 123,
            'MaxAutoMLJobRuntimeInSeconds': 123
        }
    },
    'ModelDeployConfig': {
        'AutoGenerateEndpointName': True|False,
        'EndpointName': 'string'
    },
    'ModelDeployResult': {
        'EndpointName': 'string'
    }
}

Response Structure

  • (dict) --

    • AutoMLJobName (string) --

      Returns the name of the AutoML job.

    • AutoMLJobArn (string) --

      Returns the ARN of the AutoML job.

    • InputDataConfig (list) --

      Returns the input data configuration for the AutoML job..

      • (dict) --

        A channel is a named input source that training algorithms can consume. The validation dataset size is limited to less than 2 GB. The training dataset size must be less than 100 GB. For more information, see .

        Note

        A validation dataset must contain the same headers as the training dataset.

        • DataSource (dict) --

          The data source for an AutoML channel.

          • S3DataSource (dict) --

            The Amazon S3 location of the input data.

            • S3DataType (string) --

              The data type.

              A ManifestFile should have the format shown below:

              [ {"prefix": "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"},

              "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1",

              "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2",

              ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]

              An S3Prefix should have the following format:

              s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE

            • S3Uri (string) --

              The URL to the Amazon S3 data source.

        • CompressionType (string) --

          You can use Gzip or None . The default value is None .

        • TargetAttributeName (string) --

          The name of the target variable in supervised learning, usually represented by 'y'.

        • ContentType (string) --

          The content type of the data from the input source. You can use text/csv;header=present or x-application/vnd.amazon+parquet . The default value is text/csv;header=present .

        • ChannelType (string) --

          The channel type (optional) is an enum string. The default value is training . Channels for training and validation must share the same ContentType and TargetAttributeName . For information on specifying training and validation channel types, see How to specify training and validation datasets.

    • OutputDataConfig (dict) --

      Returns the job's output data config.

      • KmsKeyId (string) --

        The Amazon Web Services KMS encryption key ID.

      • S3OutputPath (string) --

        The Amazon S3 output path. Must be 128 characters or less.

    • RoleArn (string) --

      The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that has read permission to the input data location and write permission to the output data location in Amazon S3.

    • AutoMLJobObjective (dict) --

      Returns the job's objective.

      • MetricName (string) --

        The name of the objective metric used to measure the predictive quality of a machine learning system. This metric is optimized during training to provide the best estimate for model parameter values from data.

        Here are the options:

        • MSE : The mean squared error (MSE) is the average of the squared differences between the predicted and actual values. It is used for regression. MSE values are always positive: the better a model is at predicting the actual values, the smaller the MSE value is. When the data contains outliers, they tend to dominate the MSE, which might cause subpar prediction performance.

        • Accuracy : The ratio of the number of correctly classified items to the total number of (correctly and incorrectly) classified items. It is used for binary and multiclass classification. It measures how close the predicted class values are to the actual values. Accuracy values vary between zero and one: one indicates perfect accuracy and zero indicates perfect inaccuracy.

        • F1 : The F1 score is the harmonic mean of the precision and recall. It is used for binary classification into classes traditionally referred to as positive and negative. Predictions are said to be true when they match their actual (correct) class and false when they do not. Precision is the ratio of the true positive predictions to all positive predictions (including the false positives) in a data set and measures the quality of the prediction when it predicts the positive class. Recall (or sensitivity) is the ratio of the true positive predictions to all actual positive instances and measures how completely a model predicts the actual class members in a data set. The standard F1 score weighs precision and recall equally. But which metric is paramount typically depends on specific aspects of a problem. F1 scores vary between zero and one: one indicates the best possible performance and zero the worst.

        • AUC : The area under the curve (AUC) metric is used to compare and evaluate binary classification by algorithms such as logistic regression that return probabilities. A threshold is needed to map the probabilities into classifications. The relevant curve is the receiver operating characteristic curve that plots the true positive rate (TPR) of predictions (or recall) against the false positive rate (FPR) as a function of the threshold value, above which a prediction is considered positive. Increasing the threshold results in fewer false positives but more false negatives. AUC is the area under this receiver operating characteristic curve and so provides an aggregated measure of the model performance across all possible classification thresholds. The AUC score can also be interpreted as the probability that a randomly selected positive data point is more likely to be predicted positive than a randomly selected negative example. AUC scores vary between zero and one: a score of one indicates perfect accuracy and a score of one half indicates that the prediction is not better than a random classifier. Values under one half predict less accurately than a random predictor. But such consistently bad predictors can simply be inverted to obtain better than random predictors.

        • F1macro : The F1macro score applies F1 scoring to multiclass classification. In this context, you have multiple classes to predict. You just calculate the precision and recall for each class as you did for the positive class in binary classification. Then, use these values to calculate the F1 score for each class and average them to obtain the F1macro score. F1macro scores vary between zero and one: one indicates the best possible performance and zero the worst.

        If you do not specify a metric explicitly, the default behavior is to automatically use:

        • MSE : for regression.

        • F1 : for binary classification

        • Accuracy : for multiclass classification.

    • ProblemType (string) --

      Returns the job's problem type.

    • AutoMLJobConfig (dict) --

      Returns the configuration for the AutoML job.

      • CompletionCriteria (dict) --

        How long an AutoML job is allowed to run, or how many candidates a job is allowed to generate.

        • MaxCandidates (integer) --

          The maximum number of times a training job is allowed to run.

        • MaxRuntimePerTrainingJobInSeconds (integer) --

          The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the used by the action.

        • MaxAutoMLJobRuntimeInSeconds (integer) --

          The maximum runtime, in seconds, an AutoML job has to complete.

          If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, will not be completed.

      • SecurityConfig (dict) --

        The security configuration for traffic encryption or Amazon VPC settings.

        • VolumeKmsKeyId (string) --

          The key used to encrypt stored data.

        • EnableInterContainerTrafficEncryption (boolean) --

          Whether to use traffic encryption between the container layers.

        • VpcConfig (dict) --

          The VPC configuration.

          • SecurityGroupIds (list) --

            The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.

            • (string) --

          • Subnets (list) --

            The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see Supported Instance Types and Availability Zones.

            • (string) --

      • DataSplitConfig (dict) --

        The configuration for splitting the input training dataset.

        Type: AutoMLDataSplitConfig

        • ValidationFraction (float) --

          The validation fraction (optional) is a float that specifies the portion of the training dataset to be used for validation. The default value is 0.2, and values must be greater than 0 and less than 1. We recommend setting this value to be less than 0.5.

      • CandidateGenerationConfig (dict) --

        The configuration for generating a candidate for an AutoML job (optional).

        • FeatureSpecificationS3Uri (string) --

          A URL to the Amazon S3 data source containing selected features from the input data source to run an Autopilot job. You can input FeatureAttributeNames (optional) in JSON format as shown below:

          { "FeatureAttributeNames":["col1", "col2", ...] } .

          You can also specify the data type of the feature (optional) in the format shown below:

          { "FeatureDataTypes":{"col1":"numeric", "col2":"categorical" ... } }

          Note

          These column keys may not include the target column.

          In ensembling mode, Autopilot will only support the following data types: numeric , categorical , text and datetime . In HPO mode, Autopilot can support numeric , categorical , text , datetime and sequence .

          If only FeatureDataTypes is provided, the column keys ( col1 , col2 ,..) should be a subset of the column names in the input data.

          If both FeatureDataTypes and FeatureAttributeNames are provided, then the column keys should be a subset of the column names provided in FeatureAttributeNames .

          The key name FeatureAttributeNames is fixed. The values listed in ["col1", "col2", ...] is case sensitive and should be a list of strings containing unique values that are a subset of the column names in the input data. The list of columns provided must not include the target column.

      • Mode (string) --

        The method that Autopilot uses to train the data. You can either specify the mode manually or let Autopilot choose for you based on the dataset size by selecting AUTO . In AUTO mode, Autopilot chooses ENSEMBLING for datasets smaller than 100 MB, and HYPERPARAMETER_TUNING for larger ones.

        The ENSEMBLING mode uses a multi-stack ensemble model to predict classification and regression tasks directly from your dataset. This machine learning mode combines several base models to produce an optimal predictive model. It then uses a stacking ensemble method to combine predictions from contributing members. A multi-stack ensemble model can provide better performance over a single model by combining the predictive capabilities of multiple models. See Autopilot algorithm support for a list of algorithms supported by ENSEMBLING mode.

        The HYPERPARAMETER_TUNING (HPO) mode uses the best hyperparameters to train the best version of a model. HPO will automatically select an algorithm for the type of problem you want to solve. Then HPO finds the best hyperparameters according to your objective metric. See Autopilot algorithm support for a list of algorithms supported by HYPERPARAMETER_TUNING mode.

    • CreationTime (datetime) --

      Returns the creation time of the AutoML job.

    • EndTime (datetime) --

      Returns the end time of the AutoML job.

    • LastModifiedTime (datetime) --

      Returns the job's last modified time.

    • FailureReason (string) --

      Returns the failure reason for an AutoML job, when applicable.

    • PartialFailureReasons (list) --

      Returns a list of reasons for partial failures within an AutoML job.

      • (dict) --

        The reason for a partial failure of an AutoML job.

        • PartialFailureMessage (string) --

          The message containing the reason for a partial failure of an AutoML job.

    • BestCandidate (dict) --

      Returns the job's best AutoMLCandidate .

      • CandidateName (string) --

        The name of the candidate.

      • FinalAutoMLJobObjectiveMetric (dict) --

        The best candidate result from an AutoML training job.

        • Type (string) --

          The type of metric with the best result.

        • MetricName (string) --

          The name of the metric with the best result. For a description of the possible objective metrics, see AutoMLJobObjective$MetricName.

        • Value (float) --

          The value of the metric with the best result.

      • ObjectiveStatus (string) --

        The objective's status.

      • CandidateSteps (list) --

        Information about the candidate's steps.

        • (dict) --

          Information about the steps for a candidate and what step it is working on.

          • CandidateStepType (string) --

            Whether the candidate is at the transform, training, or processing step.

          • CandidateStepArn (string) --

            The ARN for the candidate's step.

          • CandidateStepName (string) --

            The name for the candidate's step.

      • CandidateStatus (string) --

        The candidate's status.

      • InferenceContainers (list) --

        Information about the inference container definitions.

        • (dict) --

          A list of container definitions that describe the different containers that make up an AutoML candidate. For more information, see .

          • Image (string) --

            The Amazon Elastic Container Registry (Amazon ECR) path of the container. For more information, see .

          • ModelDataUrl (string) --

            The location of the model artifacts. For more information, see .

          • Environment (dict) --

            The environment variables to set in the container. For more information, see .

            • (string) --

              • (string) --

      • CreationTime (datetime) --

        The creation time.

      • EndTime (datetime) --

        The end time.

      • LastModifiedTime (datetime) --

        The last modified time.

      • FailureReason (string) --

        The failure reason.

      • CandidateProperties (dict) --

        The properties of an AutoML candidate job.

        • CandidateArtifactLocations (dict) --

          The Amazon S3 prefix to the artifacts generated for an AutoML candidate.

          • Explainability (string) --

            The Amazon S3 prefix to the explainability artifacts generated for the AutoML candidate.

          • ModelInsights (string) --

            The Amazon S3 prefix to the model insight artifacts generated for the AutoML candidate.

        • CandidateMetrics (list) --

          Information about the candidate metrics for an AutoML job.

          • (dict) --

            Information about the metric for a candidate produced by an AutoML job.

            • MetricName (string) --

              The name of the metric.

            • Value (float) --

              The value of the metric.

            • Set (string) --

              The dataset split from which the AutoML job produced the metric.

            • StandardMetricName (string) --

              The name of the standard metric.

              Note

              For definitions of the standard metrics, see Autopilot candidate metrics.

    • AutoMLJobStatus (string) --

      Returns the status of the AutoML job.

    • AutoMLJobSecondaryStatus (string) --

      Returns the secondary status of the AutoML job.

    • GenerateCandidateDefinitionsOnly (boolean) --

      Indicates whether the output for an AutoML job generates candidate definitions only.

    • AutoMLJobArtifacts (dict) --

      Returns information on the job's artifacts found in AutoMLJobArtifacts .

      • CandidateDefinitionNotebookLocation (string) --

        The URL of the notebook location.

      • DataExplorationNotebookLocation (string) --

        The URL of the notebook location.

    • ResolvedAttributes (dict) --

      This contains ProblemType , AutoMLJobObjective , and CompletionCriteria . If you do not provide these values, they are auto-inferred. If you do provide them, the values used are the ones you provide.

      • AutoMLJobObjective (dict) --

        Specifies a metric to minimize or maximize as the objective of a job.

        • MetricName (string) --

          The name of the objective metric used to measure the predictive quality of a machine learning system. This metric is optimized during training to provide the best estimate for model parameter values from data.

          Here are the options:

          • MSE : The mean squared error (MSE) is the average of the squared differences between the predicted and actual values. It is used for regression. MSE values are always positive: the better a model is at predicting the actual values, the smaller the MSE value is. When the data contains outliers, they tend to dominate the MSE, which might cause subpar prediction performance.

          • Accuracy : The ratio of the number of correctly classified items to the total number of (correctly and incorrectly) classified items. It is used for binary and multiclass classification. It measures how close the predicted class values are to the actual values. Accuracy values vary between zero and one: one indicates perfect accuracy and zero indicates perfect inaccuracy.

          • F1 : The F1 score is the harmonic mean of the precision and recall. It is used for binary classification into classes traditionally referred to as positive and negative. Predictions are said to be true when they match their actual (correct) class and false when they do not. Precision is the ratio of the true positive predictions to all positive predictions (including the false positives) in a data set and measures the quality of the prediction when it predicts the positive class. Recall (or sensitivity) is the ratio of the true positive predictions to all actual positive instances and measures how completely a model predicts the actual class members in a data set. The standard F1 score weighs precision and recall equally. But which metric is paramount typically depends on specific aspects of a problem. F1 scores vary between zero and one: one indicates the best possible performance and zero the worst.

          • AUC : The area under the curve (AUC) metric is used to compare and evaluate binary classification by algorithms such as logistic regression that return probabilities. A threshold is needed to map the probabilities into classifications. The relevant curve is the receiver operating characteristic curve that plots the true positive rate (TPR) of predictions (or recall) against the false positive rate (FPR) as a function of the threshold value, above which a prediction is considered positive. Increasing the threshold results in fewer false positives but more false negatives. AUC is the area under this receiver operating characteristic curve and so provides an aggregated measure of the model performance across all possible classification thresholds. The AUC score can also be interpreted as the probability that a randomly selected positive data point is more likely to be predicted positive than a randomly selected negative example. AUC scores vary between zero and one: a score of one indicates perfect accuracy and a score of one half indicates that the prediction is not better than a random classifier. Values under one half predict less accurately than a random predictor. But such consistently bad predictors can simply be inverted to obtain better than random predictors.

          • F1macro : The F1macro score applies F1 scoring to multiclass classification. In this context, you have multiple classes to predict. You just calculate the precision and recall for each class as you did for the positive class in binary classification. Then, use these values to calculate the F1 score for each class and average them to obtain the F1macro score. F1macro scores vary between zero and one: one indicates the best possible performance and zero the worst.

          If you do not specify a metric explicitly, the default behavior is to automatically use:

          • MSE : for regression.

          • F1 : for binary classification

          • Accuracy : for multiclass classification.

      • ProblemType (string) --

        The problem type.

      • CompletionCriteria (dict) --

        How long a job is allowed to run, or how many candidates a job is allowed to generate.

        • MaxCandidates (integer) --

          The maximum number of times a training job is allowed to run.

        • MaxRuntimePerTrainingJobInSeconds (integer) --

          The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the used by the action.

        • MaxAutoMLJobRuntimeInSeconds (integer) --

          The maximum runtime, in seconds, an AutoML job has to complete.

          If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, will not be completed.

    • ModelDeployConfig (dict) --

      Indicates whether the model was deployed automatically to an endpoint and the name of that endpoint if deployed automatically.

      • AutoGenerateEndpointName (boolean) --

        Set to True to automatically generate an endpoint name for a one-click Autopilot model deployment; set to False otherwise. The default value is False .

        Note

        If you set AutoGenerateEndpointName to True , do not specify the EndpointName ; otherwise a 400 error is thrown.

      • EndpointName (string) --

        Specifies the endpoint name to use for a one-click Autopilot model deployment if the endpoint name is not generated automatically.

        Note

        Specify the EndpointName if and only if you set AutoGenerateEndpointName to False ; otherwise a 400 error is thrown.

    • ModelDeployResult (dict) --

      Provides information about endpoint for the model deployment.

      • EndpointName (string) --

        The name of the endpoint to which the model has been deployed.

        Note

        If model deployment fails, this field is omitted from the response.

ListCandidatesForAutoMLJob (updated) Link ¶
Changes (response)
{'Candidates': {'CandidateProperties': {'CandidateMetrics': {'StandardMetricName': {'InferenceLatency'}}}}}

List the candidates created for the job.

See also: AWS API Documentation

Request Syntax

client.list_candidates_for_auto_ml_job(
    AutoMLJobName='string',
    StatusEquals='Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping',
    CandidateNameEquals='string',
    SortOrder='Ascending'|'Descending',
    SortBy='CreationTime'|'Status'|'FinalObjectiveMetricValue',
    MaxResults=123,
    NextToken='string'
)
type AutoMLJobName

string

param AutoMLJobName

[REQUIRED]

List the candidates created for the job by providing the job's name.

type StatusEquals

string

param StatusEquals

List the candidates for the job and filter by status.

type CandidateNameEquals

string

param CandidateNameEquals

List the candidates for the job and filter by candidate name.

type SortOrder

string

param SortOrder

The sort order for the results. The default is Ascending .

type SortBy

string

param SortBy

The parameter by which to sort the results. The default is Descending .

type MaxResults

integer

param MaxResults

List the job's candidates up to a specified limit.

type NextToken

string

param NextToken

If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.

rtype

dict

returns

Response Syntax

{
    'Candidates': [
        {
            'CandidateName': 'string',
            'FinalAutoMLJobObjectiveMetric': {
                'Type': 'Maximize'|'Minimize',
                'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC',
                'Value': ...
            },
            'ObjectiveStatus': 'Succeeded'|'Pending'|'Failed',
            'CandidateSteps': [
                {
                    'CandidateStepType': 'AWS::SageMaker::TrainingJob'|'AWS::SageMaker::TransformJob'|'AWS::SageMaker::ProcessingJob',
                    'CandidateStepArn': 'string',
                    'CandidateStepName': 'string'
                },
            ],
            'CandidateStatus': 'Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping',
            'InferenceContainers': [
                {
                    'Image': 'string',
                    'ModelDataUrl': 'string',
                    'Environment': {
                        'string': 'string'
                    }
                },
            ],
            'CreationTime': datetime(2015, 1, 1),
            'EndTime': datetime(2015, 1, 1),
            'LastModifiedTime': datetime(2015, 1, 1),
            'FailureReason': 'string',
            'CandidateProperties': {
                'CandidateArtifactLocations': {
                    'Explainability': 'string',
                    'ModelInsights': 'string'
                },
                'CandidateMetrics': [
                    {
                        'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC',
                        'Value': ...,
                        'Set': 'Train'|'Validation'|'Test',
                        'StandardMetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'LogLoss'|'InferenceLatency'
                    },
                ]
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Candidates (list) --

      Summaries about the AutoMLCandidates .

      • (dict) --

        Information about a candidate produced by an AutoML training job, including its status, steps, and other properties.

        • CandidateName (string) --

          The name of the candidate.

        • FinalAutoMLJobObjectiveMetric (dict) --

          The best candidate result from an AutoML training job.

          • Type (string) --

            The type of metric with the best result.

          • MetricName (string) --

            The name of the metric with the best result. For a description of the possible objective metrics, see AutoMLJobObjective$MetricName.

          • Value (float) --

            The value of the metric with the best result.

        • ObjectiveStatus (string) --

          The objective's status.

        • CandidateSteps (list) --

          Information about the candidate's steps.

          • (dict) --

            Information about the steps for a candidate and what step it is working on.

            • CandidateStepType (string) --

              Whether the candidate is at the transform, training, or processing step.

            • CandidateStepArn (string) --

              The ARN for the candidate's step.

            • CandidateStepName (string) --

              The name for the candidate's step.

        • CandidateStatus (string) --

          The candidate's status.

        • InferenceContainers (list) --

          Information about the inference container definitions.

          • (dict) --

            A list of container definitions that describe the different containers that make up an AutoML candidate. For more information, see .

            • Image (string) --

              The Amazon Elastic Container Registry (Amazon ECR) path of the container. For more information, see .

            • ModelDataUrl (string) --

              The location of the model artifacts. For more information, see .

            • Environment (dict) --

              The environment variables to set in the container. For more information, see .

              • (string) --

                • (string) --

        • CreationTime (datetime) --

          The creation time.

        • EndTime (datetime) --

          The end time.

        • LastModifiedTime (datetime) --

          The last modified time.

        • FailureReason (string) --

          The failure reason.

        • CandidateProperties (dict) --

          The properties of an AutoML candidate job.

          • CandidateArtifactLocations (dict) --

            The Amazon S3 prefix to the artifacts generated for an AutoML candidate.

            • Explainability (string) --

              The Amazon S3 prefix to the explainability artifacts generated for the AutoML candidate.

            • ModelInsights (string) --

              The Amazon S3 prefix to the model insight artifacts generated for the AutoML candidate.

          • CandidateMetrics (list) --

            Information about the candidate metrics for an AutoML job.

            • (dict) --

              Information about the metric for a candidate produced by an AutoML job.

              • MetricName (string) --

                The name of the metric.

              • Value (float) --

                The value of the metric.

              • Set (string) --

                The dataset split from which the AutoML job produced the metric.

              • StandardMetricName (string) --

                The name of the standard metric.

                Note

                For definitions of the standard metrics, see Autopilot candidate metrics.

    • NextToken (string) --

      If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.