airflow.providers.amazon.aws.hooks.sagemaker
¶
Module Contents¶
Classes¶
Enum-style class holding all possible states of CloudWatch log streams. |
|
Interact with Amazon SageMaker. |
Functions¶
|
Return the index, i, in arr that minimizes f(arr[i]) |
Returns true if training job's secondary status message has changed. |
|
|
Returns a string contains start time and the secondary training job status message. |
Attributes¶
- class airflow.providers.amazon.aws.hooks.sagemaker.LogState[source]¶
Enum-style class holding all possible states of CloudWatch log streams. https://sagemaker.readthedocs.io/en/stable/session.html#sagemaker.session.LogState
- airflow.providers.amazon.aws.hooks.sagemaker.argmin(arr, f)[source]¶
Return the index, i, in arr that minimizes f(arr[i])
- airflow.providers.amazon.aws.hooks.sagemaker.secondary_training_status_changed(current_job_description, prev_job_description)[source]¶
Returns true if training job’s secondary status message has changed.
- Parameters
- Returns
Whether the secondary status message of a training job changed or not.
- Return type
- airflow.providers.amazon.aws.hooks.sagemaker.secondary_training_status_message(job_description, prev_description)[source]¶
Returns a string contains start time and the secondary training job status message.
- class airflow.providers.amazon.aws.hooks.sagemaker.SageMakerHook(*args, **kwargs)[source]¶
Bases:
airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook
Interact with Amazon SageMaker.
Additional arguments (such as
aws_conn_id
) may be specified and are passed down to the underlying AwsBaseHook.See also
- configure_s3_resources(config)[source]¶
Extract the S3 operations from the configuration and execute them.
- Parameters
config (dict) – config of SageMaker operation
- check_training_config(training_config)[source]¶
Check if a training configuration is valid
- Parameters
training_config (dict) – training_config
- Returns
None
- Return type
None
- check_tuning_config(tuning_config)[source]¶
Check if a tuning configuration is valid
- Parameters
tuning_config (dict) – tuning_config
- Returns
None
- Return type
None
- multi_stream_iter(log_group, streams, positions=None)[source]¶
Iterate over the available events coming from a set of log streams in a single log group interleaving the events from each stream so they’re yielded in timestamp order.
- Parameters
- Returns
A tuple of (stream number, cloudwatch log event).
- Return type
Generator
- create_training_job(config, wait_for_completion=True, print_log=True, check_interval=30, max_ingestion_time=None)[source]¶
Starts a model training job. After training completes, Amazon SageMaker saves the resulting model artifacts to an Amazon S3 location that you specify.
- Parameters
config (dict) – the config for training
wait_for_completion (bool) – if the program should keep running until job finishes
check_interval (int) – the time interval in seconds which the operator will check the status of any SageMaker job
max_ingestion_time (int | None) – the maximum ingestion time in seconds. Any SageMaker jobs that run longer than this will fail. Setting this to None implies no timeout for any SageMaker job.
- Returns
A response to training job creation
- create_tuning_job(config, wait_for_completion=True, check_interval=30, max_ingestion_time=None)[source]¶
Starts a hyperparameter tuning job. A hyperparameter tuning job finds the best version of a model by running many training jobs on your dataset using the algorithm you choose and values for hyperparameters within ranges that you specify. It then chooses the hyperparameter values that result in a model that performs the best, as measured by an objective metric that you choose.
- Parameters
config (dict) – the config for tuning
wait_for_completion (bool) – if the program should keep running until job finishes
check_interval (int) – the time interval in seconds which the operator will check the status of any SageMaker job
max_ingestion_time (int | None) – the maximum ingestion time in seconds. Any SageMaker jobs that run longer than this will fail. Setting this to None implies no timeout for any SageMaker job.
- Returns
A response to tuning job creation
- create_transform_job(config, wait_for_completion=True, check_interval=30, max_ingestion_time=None)[source]¶
Starts a transform job. A transform job uses a trained model to get inferences on a dataset and saves these results to an Amazon S3 location that you specify.
- Parameters
config (dict) – the config for transform job
wait_for_completion (bool) – if the program should keep running until job finishes
check_interval (int) – the time interval in seconds which the operator will check the status of any SageMaker job
max_ingestion_time (int | None) – the maximum ingestion time in seconds. Any SageMaker jobs that run longer than this will fail. Setting this to None implies no timeout for any SageMaker job.
- Returns
A response to transform job creation
- create_processing_job(config, wait_for_completion=True, check_interval=30, max_ingestion_time=None)[source]¶
Use Amazon SageMaker Processing to analyze data and evaluate machine learning models on Amazon SageMaker. With Processing, you can use a simplified, managed experience on SageMaker to run your data processing workloads, such as feature engineering, data validation, model evaluation, and model interpretation.
- Parameters
config (dict) – the config for processing job
wait_for_completion (bool) – if the program should keep running until job finishes
check_interval (int) – the time interval in seconds which the operator will check the status of any SageMaker job
max_ingestion_time (int | None) – the maximum ingestion time in seconds. Any SageMaker jobs that run longer than this will fail. Setting this to None implies no timeout for any SageMaker job.
- Returns
A response to transform job creation
- create_model(config)[source]¶
Creates a model in Amazon SageMaker. In the request, you name the model and describe a primary container. For the primary container, you specify the Docker image that contains inference code, artifacts (from prior training), and a custom environment map that the inference code uses when you deploy the model for predictions.
- Parameters
config (dict) – the config for model
- Returns
A response to model creation
- create_endpoint_config(config)[source]¶
Creates an endpoint configuration that Amazon SageMaker hosting services uses to deploy models. In the configuration, you identify one or more models, created using the CreateModel API, to deploy and the resources that you want Amazon SageMaker to provision.
See also
- Parameters
config (dict) – the config for endpoint-config
- Returns
A response to endpoint config creation
- create_endpoint(config, wait_for_completion=True, check_interval=30, max_ingestion_time=None)[source]¶
When you create a serverless endpoint, SageMaker provisions and manages the compute resources for you. Then, you can make inference requests to the endpoint and receive model predictions in response. SageMaker scales the compute resources up and down as needed to handle your request traffic.
- Requires an Endpoint Config.
See also
- Parameters
config (dict) – the config for endpoint
wait_for_completion (bool) – if the program should keep running until job finishes
check_interval (int) – the time interval in seconds which the operator will check the status of any SageMaker job
max_ingestion_time (int | None) – the maximum ingestion time in seconds. Any SageMaker jobs that run longer than this will fail. Setting this to None implies no timeout for any SageMaker job.
- Returns
A response to endpoint creation
- update_endpoint(config, wait_for_completion=True, check_interval=30, max_ingestion_time=None)[source]¶
Deploys the new EndpointConfig specified in the request, switches to using newly created endpoint, and then deletes resources provisioned for the endpoint using the previous EndpointConfig (there is no availability loss).
- Parameters
config (dict) – the config for endpoint
wait_for_completion (bool) – if the program should keep running until job finishes
check_interval (int) – the time interval in seconds which the operator will check the status of any SageMaker job
max_ingestion_time (int | None) – the maximum ingestion time in seconds. Any SageMaker jobs that run longer than this will fail. Setting this to None implies no timeout for any SageMaker job.
- Returns
A response to endpoint update
- describe_training_job(name)[source]¶
Return the training job info associated with the name
- Parameters
name (str) – the name of the training job
- Returns
A dict contains all the training job info
- describe_training_job_with_log(job_name, positions, stream_names, instance_count, state, last_description, last_describe_job_call)[source]¶
Return the training job info associated with job_name and print CloudWatch logs
- check_status(job_name, key, describe_function, check_interval, max_ingestion_time=None, non_terminal_states=None)[source]¶
Check status of a SageMaker job
- Parameters
job_name (str) – name of the job to check status
key (str) – the key of the response dict that points to the state
describe_function (Callable) – the function used to retrieve the status
args – the arguments for the function
check_interval (int) – the time interval in seconds which the operator will check the status of any SageMaker job
max_ingestion_time (int | None) – the maximum ingestion time in seconds. Any SageMaker jobs that run longer than this will fail. Setting this to None implies no timeout for any SageMaker job.
non_terminal_states (set | None) – the set of nonterminal states
- Returns
response of describe call after job is done
- check_training_status_with_log(job_name, non_terminal_states, failed_states, wait_for_completion, check_interval, max_ingestion_time=None)[source]¶
Display the logs for a given training job, optionally tailing them until the job is complete.
- Parameters
job_name (str) – name of the training job to check status and display logs for
non_terminal_states (set) – the set of non_terminal states
failed_states (set) – the set of failed states
wait_for_completion (bool) – Whether to keep looking for new log entries until the job completes
check_interval (int) – The interval in seconds between polling for new log entries and job completion
max_ingestion_time (int | None) – the maximum ingestion time in seconds. Any SageMaker jobs that run longer than this will fail. Setting this to None implies no timeout for any SageMaker job.
- Returns
None
- list_training_jobs(name_contains=None, max_results=None, **kwargs)[source]¶
This method wraps boto3’s list_training_jobs. The training job name and max results are configurable via arguments. Other arguments are not, and should be provided via kwargs. Note boto3 expects these in CamelCase format, for example:
list_training_jobs(name_contains="myjob", StatusEquals="Failed")
- Parameters
- Returns
results of the list_training_jobs request
- Return type
- list_transform_jobs(name_contains=None, max_results=None, **kwargs)[source]¶
This method wraps boto3’s list_transform_jobs. The transform job name and max results are configurable via arguments. Other arguments are not, and should be provided via kwargs. Note boto3 expects these in CamelCase format, for example:
list_transform_jobs(name_contains="myjob", StatusEquals="Failed")
- Parameters
- Returns
results of the list_transform_jobs request
- Return type
- list_processing_jobs(**kwargs)[source]¶
This method wraps boto3’s list_processing_jobs. All arguments should be provided via kwargs. Note boto3 expects these in CamelCase format, for example:
list_processing_jobs(NameContains="myjob", StatusEquals="Failed")
- find_processing_job_by_name(processing_job_name)[source]¶
Query processing job by name
This method is deprecated. Please use airflow.providers.amazon.aws.hooks.sagemaker.count_processing_jobs_by_name.
- count_processing_jobs_by_name(processing_job_name, throttle_retry_delay=2, retries=3)[source]¶
Returns the number of processing jobs found with the provided name prefix. :param processing_job_name: The prefix to look for. :param throttle_retry_delay: Seconds to wait if a ThrottlingException is hit. :param retries: The max number of times to retry. :returns: The number of processing jobs that start with the provided prefix.