SageMaker / Client / describe_optimization_job

describe_optimization_job#

SageMaker.Client.describe_optimization_job(**kwargs)#

Provides the properties of the specified optimization job.

See also: AWS API Documentation

Request Syntax

response = client.describe_optimization_job(
    OptimizationJobName='string'
)
Parameters:

OptimizationJobName (string) –

[REQUIRED]

The name that you assigned to the optimization job.

Return type:

dict

Returns:

Response Syntax

{
    'OptimizationJobArn': 'string',
    'OptimizationJobStatus': 'INPROGRESS'|'COMPLETED'|'FAILED'|'STARTING'|'STOPPING'|'STOPPED',
    'OptimizationStartTime': datetime(2015, 1, 1),
    'OptimizationEndTime': datetime(2015, 1, 1),
    'CreationTime': datetime(2015, 1, 1),
    'LastModifiedTime': datetime(2015, 1, 1),
    'FailureReason': 'string',
    'OptimizationJobName': 'string',
    'ModelSource': {
        'S3': {
            'S3Uri': 'string',
            'ModelAccessConfig': {
                'AcceptEula': True|False
            }
        }
    },
    'OptimizationEnvironment': {
        'string': 'string'
    },
    'DeploymentInstanceType': 'ml.p4d.24xlarge'|'ml.p4de.24xlarge'|'ml.p5.48xlarge'|'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.g6.xlarge'|'ml.g6.2xlarge'|'ml.g6.4xlarge'|'ml.g6.8xlarge'|'ml.g6.12xlarge'|'ml.g6.16xlarge'|'ml.g6.24xlarge'|'ml.g6.48xlarge'|'ml.inf2.xlarge'|'ml.inf2.8xlarge'|'ml.inf2.24xlarge'|'ml.inf2.48xlarge'|'ml.trn1.2xlarge'|'ml.trn1.32xlarge'|'ml.trn1n.32xlarge',
    'OptimizationConfigs': [
        {
            'ModelQuantizationConfig': {
                'Image': 'string',
                'OverrideEnvironment': {
                    'string': 'string'
                }
            },
            'ModelCompilationConfig': {
                'Image': 'string',
                'OverrideEnvironment': {
                    'string': 'string'
                }
            }
        },
    ],
    'OutputConfig': {
        'KmsKeyId': 'string',
        'S3OutputLocation': 'string'
    },
    'OptimizationOutput': {
        'RecommendedInferenceImage': 'string'
    },
    'RoleArn': 'string',
    'StoppingCondition': {
        'MaxRuntimeInSeconds': 123,
        'MaxWaitTimeInSeconds': 123,
        'MaxPendingTimeInSeconds': 123
    },
    'VpcConfig': {
        'SecurityGroupIds': [
            'string',
        ],
        'Subnets': [
            'string',
        ]
    }
}

Response Structure

  • (dict) –

    • OptimizationJobArn (string) –

      The Amazon Resource Name (ARN) of the optimization job.

    • OptimizationJobStatus (string) –

      The current status of the optimization job.

    • OptimizationStartTime (datetime) –

      The time when the optimization job started.

    • OptimizationEndTime (datetime) –

      The time when the optimization job finished processing.

    • CreationTime (datetime) –

      The time when you created the optimization job.

    • LastModifiedTime (datetime) –

      The time when the optimization job was last updated.

    • FailureReason (string) –

      If the optimization job status is FAILED, the reason for the failure.

    • OptimizationJobName (string) –

      The name that you assigned to the optimization job.

    • ModelSource (dict) –

      The location of the source model to optimize with an optimization job.

      • S3 (dict) –

        The Amazon S3 location of a source model to optimize with an optimization job.

        • S3Uri (string) –

          An Amazon S3 URI that locates a source model to optimize with an optimization job.

        • ModelAccessConfig (dict) –

          The access configuration settings for the source ML model for an optimization job, where you can accept the model end-user license agreement (EULA).

          • AcceptEula (boolean) –

            Specifies agreement to the model end-user license agreement (EULA). The AcceptEula value must be explicitly defined as True in order to accept the EULA that this model requires. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.

    • OptimizationEnvironment (dict) –

      The environment variables to set in the model container.

      • (string) –

        • (string) –

    • DeploymentInstanceType (string) –

      The type of instance that hosts the optimized model that you create with the optimization job.

    • OptimizationConfigs (list) –

      Settings for each of the optimization techniques that the job applies.

      • (dict) –

        Settings for an optimization technique that you apply with a model optimization job.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: ModelQuantizationConfig, ModelCompilationConfig. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        
        • ModelQuantizationConfig (dict) –

          Settings for the model quantization technique that’s applied by a model optimization job.

          • Image (string) –

            The URI of an LMI DLC in Amazon ECR. SageMaker uses this image to run the optimization.

          • OverrideEnvironment (dict) –

            Environment variables that override the default ones in the model container.

            • (string) –

              • (string) –

        • ModelCompilationConfig (dict) –

          Settings for the model compilation technique that’s applied by a model optimization job.

          • Image (string) –

            The URI of an LMI DLC in Amazon ECR. SageMaker uses this image to run the optimization.

          • OverrideEnvironment (dict) –

            Environment variables that override the default ones in the model container.

            • (string) –

              • (string) –

    • OutputConfig (dict) –

      Details for where to store the optimized model that you create with the optimization job.

      • KmsKeyId (string) –

        The Amazon Resource Name (ARN) of a key in Amazon Web Services KMS. SageMaker uses they key to encrypt the artifacts of the optimized model when SageMaker uploads the model to Amazon S3.

      • S3OutputLocation (string) –

        The Amazon S3 URI for where to store the optimized model that you create with an optimization job.

    • OptimizationOutput (dict) –

      Output values produced by an optimization job.

      • RecommendedInferenceImage (string) –

        The image that SageMaker recommends that you use to host the optimized model that you created with an optimization job.

    • RoleArn (string) –

      The ARN of the IAM role that you assigned to the optimization job.

    • StoppingCondition (dict) –

      Specifies a limit to how long a job can run. When the job reaches the time limit, SageMaker ends the job. Use this API to cap costs.

      To stop a training job, SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

      The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with CreateModel.

      Note

      The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

      • MaxRuntimeInSeconds (integer) –

        The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.

        For compilation jobs, if the job does not complete during this time, a TimeOut error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.

        For all other jobs, if the job does not complete during this time, SageMaker ends the job. When RetryStrategy is specified in the job request, MaxRuntimeInSeconds specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.

        The maximum time that a TrainingJob can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.

      • MaxWaitTimeInSeconds (integer) –

        The maximum length of time, in seconds, that a managed Spot training job has to complete. It is the amount of time spent waiting for Spot capacity plus the amount of time the job can run. It must be equal to or greater than MaxRuntimeInSeconds. If the job does not complete during this time, SageMaker ends the job.

        When RetryStrategy is specified in the job request, MaxWaitTimeInSeconds specifies the maximum time for all of the attempts in total, not each individual attempt.

      • MaxPendingTimeInSeconds (integer) –

        The maximum length of time, in seconds, that a training or compilation job can be pending before it is stopped.

    • VpcConfig (dict) –

      A VPC in Amazon VPC that your optimized model has access to.

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

        • (string) –

Exceptions