airflow.providers.amazon.aws.operators.sagemaker
¶
模块内容¶
类¶
这是所有 SageMaker 运算符的基本运算符。 |
|
使用 Amazon SageMaker Processing 来分析数据并在 Amazon SageMaker 上评估机器学习模型。 |
|
创建一个终端节点配置,Amazon SageMaker 托管服务使用该配置来部署模型。 |
|
当您创建无服务器终端节点时,SageMaker 会为您配置和管理计算资源。 |
|
启动一个转换作业。 |
|
启动一个超参数调优作业。 |
|
在 Amazon SageMaker 中创建一个模型。 |
|
启动一个模型训练作业。 |
|
删除一个 SageMaker 模型。 |
|
启动一个 SageMaker 管道执行。 |
|
停止一个 SageMaker 管道执行。 |
|
通过创建一个指定模型所属模型组的模型版本来注册 SageMaker 模型。 |
|
创建一个自动 ML 作业,学习从通过 S3 提供的数据中预测给定的列。 |
|
创建一个 SageMaker 实验,然后将其关联到作业等。 |
|
创建一个 SageMaker 笔记本。 |
|
停止一个笔记本实例。 |
|
删除一个笔记本实例。 |
|
启动一个笔记本实例。 |
属性¶
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerBaseOperator(*, config, aws_conn_id=DEFAULT_CONN_ID, **kwargs)[源代码]¶
基类:
airflow.models.BaseOperator
这是所有 SageMaker 运算符的基本运算符。
- 参数
config (dict) – 启动训练作业所需的配置(已模板化)
- template_fields: collections.abc.Sequence[str] = ('config',)[源代码]¶
- template_ext: collections.abc.Sequence[str] = ()[源代码]¶
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerProcessingOperator(*, config, aws_conn_id=DEFAULT_CONN_ID, wait_for_completion=True, print_log=True, check_interval=CHECK_INTERVAL_SECOND, max_attempts=None, max_ingestion_time=None, action_if_job_exists='timestamp', deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
-
使用 Amazon SageMaker Processing 来分析数据并在 Amazon SageMaker 上评估机器学习模型。
通过 Processing,您可以在 SageMaker 上使用简化的托管体验来运行数据处理工作负载,例如特征工程、数据验证、模型评估和模型解释。
另请参阅
有关如何使用此操作符的更多信息,请查看指南: 创建 Amazon SageMaker 处理作业
- 参数
config (dict) – 启动处理作业所需的配置(已模板化)。有关配置参数的详细信息,请参阅
SageMaker.Client.create_processing_job()
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
wait_for_completion (bool) – 如果 wait 设置为 True,则操作等待检查处理作业状态的时间间隔(以秒为单位)。
print_log (bool) – 操作符是否应在处理期间打印 cloudwatch 日志
check_interval (int) – 如果 wait 设置为 true,则这是操作符将检查处理作业状态的时间间隔(以秒为单位)
max_attempts (int | None) – 返回当前状态之前轮询查询状态的次数,默认为 None。
max_ingestion_time (int | None) – 如果 wait 设置为 True,则如果处理作业未在 max_ingestion_time 秒内完成,则操作将失败。如果将此参数设置为 None,则操作不会超时。
action_if_job_exists (str) – 如果作业名称已存在时的行为。可能的选项包括“timestamp”(默认)和“fail”。
deferrable (bool) – 在可延迟模式下运行操作符。只有在 wait_for_completion 设置为 True 时才有效。
- 返回字典
返回在 Amazon SageMaker 中创建的处理作业的 ARN。
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerEndpointConfigOperator(*, config, aws_conn_id=DEFAULT_CONN_ID, **kwargs)[source]¶
-
创建一个终端节点配置,Amazon SageMaker 托管服务使用该配置来部署模型。
在配置中,您需要确定一个或多个使用 CreateModel API 创建的要部署的模型以及您希望 Amazon SageMaker 预配置的资源。
另请参阅
有关如何使用此操作符的更多信息,请查看指南: 创建 Amazon SageMaker 端点配置作业
- 参数
config (dict) –
创建端点配置所需的配置。
有关配置参数的详细信息,请参阅
SageMaker.Client.create_endpoint_config()
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
- 返回字典
返回在 Amazon SageMaker 中创建的端点配置的 ARN。
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerEndpointOperator(*, config, aws_conn_id=DEFAULT_CONN_ID, wait_for_completion=True, check_interval=CHECK_INTERVAL_SECOND, max_ingestion_time=None, operation='create', deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
-
当您创建无服务器终端节点时,SageMaker 会为您配置和管理计算资源。
然后,您可以向终端节点发出推理请求并接收模型预测响应。SageMaker 会根据需要扩展和缩减计算资源,以处理您的请求流量。
需要终端节点配置。
另请参阅
有关如何使用此操作符的更多信息,请查看指南:创建 Amazon SageMaker 终端节点作业
- 参数
config (dict) –
创建终端节点所需的配置。
如果您需要基于已有的 SageMaker 模型和已有的 SageMaker 终端节点配置来创建 SageMaker 终端节点
config = endpoint_configuration
如果您需要创建所有的 SageMaker 模型、SageMaker 终端节点配置和 SageMaker 终端节点
config = { "Model": model_configuration, "EndpointConfig": endpoint_config_configuration, "Endpoint": endpoint_configuration, }
有关 model_configuration 配置参数的详细信息,请参阅
SageMaker.Client.create_model()
有关 endpoint_config_configuration 配置参数的详细信息,请参阅
SageMaker.Client.create_endpoint_config()
有关 endpoint_configuration 配置参数的详细信息,请参阅
SageMaker.Client.create_endpoint()
wait_for_completion (bool) – 操作符是否应等待直到终端节点创建完成。
check_interval (int) – 如果 wait 设置为 True,则此操作在轮询终端节点创建状态之前等待的时间间隔(以秒为单位)。
max_ingestion_time (int | None) – 如果 wait 设置为 True,则如果终端节点创建未在 max_ingestion_time 秒内完成,则此操作将失败。如果将此参数设置为 None,则永远不会超时。
operation (str) – 是创建终端节点还是更新终端节点。必须是 “create” 或 “update”。
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
deferrable (bool) – 将异步等待完成。
- 返回字典
返回在 Amazon SageMaker 中创建的终端节点的 ARN。
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerTransformOperator(*, config, aws_conn_id=DEFAULT_CONN_ID, wait_for_completion=True, check_interval=CHECK_INTERVAL_SECOND, max_attempts=None, max_ingestion_time=None, check_if_job_exists=True, action_if_job_exists='timestamp', check_if_model_exists=True, action_if_model_exists='timestamp', deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
-
启动一个转换作业。
转换作业使用经过训练的模型来获取数据集的推断,并将这些结果保存到您指定的 Amazon S3 位置。
另请参阅
有关如何使用此操作符的更多信息,请查看指南:创建 Amazon SageMaker 转换作业
- 参数
config (dict) –
启动转换作业所需的配置(已模板化)。
如果您需要基于已有的 SageMaker 模型创建 SageMaker 转换作业
config = transform_config
如果您需要创建 SageMaker 模型和 SageMaker 转换作业
config = {"Model": model_config, "Transform": transform_config}
有关 transform_config 配置参数的详细信息,请参阅
SageMaker.Client.create_transform_job()
有关 model_config 配置参数的详细信息,请参阅:
SageMaker.Client.create_model()
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
wait_for_completion (bool) – 设置为 True 以等待转换作业完成。
check_interval (int) – 如果 wait 设置为 True,则此操作等待以检查转换作业状态的时间间隔(以秒为单位)。
max_attempts (int | None) – 返回当前状态之前轮询查询状态的次数,默认为 None。
max_ingestion_time (int | None) – 如果 wait 设置为 True,则如果转换作业未在 max_ingestion_time 秒内完成,则操作将失败。如果将此参数设置为 None,则操作不会超时。
check_if_job_exists (bool) – 如果设置为 true,则操作符将检查是否已存在配置中名称的转换作业。
action_if_job_exists (str) – 如果作业名称已存在时的行为。可能的选项是 “timestamp”(默认)和 “fail”。这仅在 check_if_job_exists 为 True 时相关。
- 返回字典
返回在 Amazon SageMaker 中创建的模型的 ARN。
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerTuningOperator(*, config, aws_conn_id=DEFAULT_CONN_ID, wait_for_completion=True, check_interval=CHECK_INTERVAL_SECOND, max_ingestion_time=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
-
启动一个超参数调优作业。
超参数调优作业通过使用您选择的算法以及您在指定范围内的超参数值,在您的数据集上运行多个训练作业来查找模型的最佳版本。然后,它会选择超参数值,从而产生一个性能最佳的模型,该模型通过您选择的目标指标来衡量。
另请参阅
有关如何使用此操作符的更多信息,请查看指南: 启动超参数调优作业
- 参数
config (dict) –
启动调优作业所需的配置(已模板化)。
有关配置参数的详细信息,请参阅
SageMaker.Client.create_hyper_parameter_tuning_job()
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
wait_for_completion (bool) – 设置为 True 以等待调优作业完成。
check_interval (int) – 如果 wait 设置为 True,则此操作等待检查调优作业状态的时间间隔,以秒为单位。
max_ingestion_time (int | None) – 如果 wait 设置为 True,则如果调优作业未在 max_ingestion_time 秒内完成,则操作将失败。 如果将此参数设置为 None,则操作不会超时。
deferrable (bool) – 将异步等待完成。
- 返回字典
返回 Amazon SageMaker 中创建的调优作业的 ARN。
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerModelOperator(*, config, aws_conn_id=DEFAULT_CONN_ID, **kwargs)[source]¶
-
在 Amazon SageMaker 中创建一个模型。
在请求中,您将命名模型并描述主容器。 对于主容器,您可以指定包含推理代码、工件(来自之前的训练)以及自定义环境映射的 Docker 映像,该映射在您部署模型进行预测时,推理代码会使用。
另请参阅
有关如何使用此操作符的更多信息,请查看指南: 创建 Amazon SageMaker 模型
- 参数
config (dict) –
创建模型所需的配置。
有关配置参数的详细信息,请参阅
SageMaker.Client.create_model()
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
- 返回字典
返回在 Amazon SageMaker 中创建的模型的 ARN。
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerTrainingOperator(*, config, aws_conn_id=DEFAULT_CONN_ID, wait_for_completion=True, print_log=True, check_interval=CHECK_INTERVAL_SECOND, max_attempts=None, max_ingestion_time=None, check_if_job_exists=True, action_if_job_exists='timestamp', deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
-
启动一个模型训练作业。
训练完成后,Amazon SageMaker 会将生成的模型工件保存到您指定的 Amazon S3 位置。
另请参阅
有关如何使用此操作符的更多信息,请查看指南: 创建 Amazon SageMaker 训练作业
- 参数
config (dict) –
启动训练作业所需的配置(已模板化)。
有关配置参数的详细信息,请参阅
SageMaker.Client.create_training_job()
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
wait_for_completion (bool) – 如果 wait 设置为 True,则此操作等待检查训练作业状态的时间间隔(以秒为单位)。
print_log (bool) – 如果操作符应在训练期间打印 CloudWatch 日志
check_interval (int) – 如果 wait 设置为 true,则此为操作符检查训练作业状态的时间间隔(以秒为单位)
max_attempts (int | None) – 返回当前状态之前轮询查询状态的次数,默认为 None。
max_ingestion_time (int | None) – 如果 wait 设置为 True,则如果训练作业未在 max_ingestion_time 秒内完成,则操作将失败。 如果将此参数设置为 None,则操作不会超时。
check_if_job_exists (bool) – 如果设置为 true,则操作符将检查是否已存在配置中名称的训练作业。
action_if_job_exists (str) – 如果作业名称已存在时的行为。可能的选项是 “timestamp”(默认)和 “fail”。这仅在 check_if_job_exists 为 True 时相关。
deferrable (bool) – 在可延迟模式下运行操作符。只有在 wait_for_completion 设置为 True 时才有效。
- 返回字典
返回 Amazon SageMaker 中创建的训练作业的 ARN。
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerDeleteModelOperator(*, config, aws_conn_id=DEFAULT_CONN_ID, **kwargs)[source]¶
-
删除一个 SageMaker 模型。
另请参阅
有关如何使用此操作符的更多信息,请查看指南:删除 Amazon SageMaker 模型
- 参数
config (dict) – 删除模型所需的配置。有关配置参数的详细信息,请参阅
SageMaker.Client.delete_model()
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerStartPipelineOperator(*, aws_conn_id=DEFAULT_CONN_ID, pipeline_name, display_name='airflow-triggered-execution', pipeline_params=None, wait_for_completion=False, check_interval=CHECK_INTERVAL_SECOND, waiter_max_attempts=9999, verbose=True, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
-
启动一个 SageMaker 管道执行。
另请参阅
有关如何使用此操作符的更多信息,请查看指南:启动 Amazon SageMaker 管道执行
- 参数
config – 用于启动管道执行的配置。
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
pipeline_name (str) – 要启动的管道的名称。
display_name (str) – 此管道执行将在 UI 中显示的名称。不需要唯一。
pipeline_params (dict | None) – 管道的可选参数。提供的所有参数都需要已存在于管道定义中。
wait_for_completion (bool) – 如果为 true,则此操作符仅在管道完成后才完成。
check_interval (int) – 在等待完成时,检查管道状态之间等待的时间。
waiter_max_attempts (int) – 在失败之前检查状态的次数。
verbose (bool) – 等待完成时是否打印步骤详细信息。默认为 true,对于有数千个步骤的管道,请考虑关闭。
deferrable (bool) – 在可延迟模式下运行操作符。
- 返回 str
返回在 Amazon SageMaker 中创建的管道执行的 ARN。
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerStopPipelineOperator(*, aws_conn_id=DEFAULT_CONN_ID, pipeline_exec_arn, wait_for_completion=False, check_interval=CHECK_INTERVAL_SECOND, waiter_max_attempts=9999, verbose=True, fail_if_not_running=False, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[source]¶
-
停止一个 SageMaker 管道执行。
另请参阅
有关如何使用此操作符的更多信息,请查看指南:停止 Amazon SageMaker 管道执行
- 参数
config – 用于启动管道执行的配置。
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
pipeline_exec_arn (str) – 要停止的管道执行的 Amazon 资源名称。
wait_for_completion (bool) – 如果为 true,则此操作符仅在管道完全停止后才完成。
check_interval (int) – 在等待完成时,检查管道状态之间等待的时间。
verbose (bool) – 等待完成时是否打印步骤详细信息。默认为 true,对于有数千个步骤的管道,请考虑关闭。
fail_if_not_running (bool) – 如果管道在此运行之前停止或成功,则引发异常
deferrable (bool) – 在可延迟模式下运行操作符。
- 返回 str
返回操作完成后管道执行的状态。
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerRegisterModelVersionOperator(*, image_uri, model_url, package_group_name, package_group_desc='', package_desc='', model_approval=ApprovalStatus.PENDING_MANUAL_APPROVAL, extras=None, aws_conn_id=DEFAULT_CONN_ID, config=None, **kwargs)[源代码]¶
-
通过创建一个指定模型所属模型组的模型版本来注册 SageMaker 模型。
如果模型组尚不存在,则会创建该模型组。
另请参阅
有关如何使用此运算符的更多信息,请查看指南: 注册一个 Sagemaker 模型版本
- 参数
image_uri (str) – 存储推理代码的 Amazon EC2 Container Registry (Amazon ECR) 路径。
model_url (str) – 存储模型工件(模型训练产生的已训练权重)的 Amazon S3 路径。此路径必须指向单个 gzip 压缩的 tar 存档(后缀为 .tar.gz)。
package_group_name (str) – 模型将要注册到的模型包组的名称。如果该组尚不存在,则会创建它。
package_group_desc (str) – 如果要创建模型包组,则为其提供的描述(可选)。
package_desc (str) – 模型包的描述(可选)。
model_approval (airflow.providers.amazon.aws.utils.sagemaker.ApprovalStatus) – 模型包的批准状态。默认为 PendingManualApproval。
extras (dict | None) – 可以包含用于创建模型包的 boto 调用的额外参数,以及/或对上面定义的任何参数的覆盖。有关可用参数的完整列表,请参阅 https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_model_package
- 返回 str
返回所创建的模型包的 ARN。
- template_fields: collections.abc.Sequence[str] = ('image_uri', 'model_url', 'package_group_name', 'package_group_desc', 'package_desc', 'model_approval')[源代码]¶
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerAutoMLOperator(*, job_name, s3_input, target_attribute, s3_output, role_arn, compressed_input=False, time_limit=None, autodeploy_endpoint_name=None, extras=None, wait_for_completion=True, check_interval=30, aws_conn_id=DEFAULT_CONN_ID, config=None, **kwargs)[源代码]¶
-
创建一个自动 ML 作业,学习从通过 S3 提供的数据中预测给定的列。
学习输出将写入指定的 S3 位置。
另请参阅
有关如何使用此运算符的更多信息,请查看指南: 启动 AutoML 实验
- 参数
job_name (str) – 要创建的作业的名称,在帐户中必须是唯一的。
s3_input (str) – 用于获取数据的 S3 位置(文件夹或文件)。默认情况下,它期望使用带有标题的 csv。
target_attribute (str) – 包含要预测的值的列的名称。
s3_output (str) – 用于写入模型工件的 S3 文件夹。长度必须为 128 个字符或更少。
role_arn (str) – 与 S3 交互时要使用的 IAM 角色的 ARN。必须具有对输入的读取访问权限,以及对输出文件夹的写入访问权限。
compressed_input (bool) – 如果输入是 gzipped 的,则设置为 True。
time_limit (int | None) – 用于训练模型的最长训练时间(以秒为单位)。
autodeploy_endpoint_name (str | None) – 如果指定,则最佳模型将部署到具有该名称的端点。否则不进行任何部署。
extras (dict | None) – 使用此字典为作业创建设置任何未通过此函数的参数提供的可变输入变量。格式在以下位置描述:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job
wait_for_completion (bool) – 是否等待作业完成再返回。默认为 True。
check_interval (int) – 等待完成时,两次状态检查之间的间隔(以秒为单位)。
- 返回
仅当等待完成时,才返回详细说明最佳模型的字典。结构与以下位置的“BestCandidate”键相同:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.describe_auto_ml_job
- template_fields: collections.abc.Sequence[str] = ('job_name', 's3_input', 'target_attribute', 's3_output', 'role_arn', 'compressed_input',...[源代码]¶
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerCreateExperimentOperator(*, name, description=None, tags=None, aws_conn_id=DEFAULT_CONN_ID, **kwargs)[source]¶
-
创建一个 SageMaker 实验,然后将其关联到作业等。
另请参阅
有关如何使用此运算符的更多信息,请查看指南:创建一个实验以供后续使用
- 参数
- 返回
创建的实验的 ARN,尽管实验是通过名称引用的
- template_fields: collections.abc.Sequence[str] = ('name', 'description', 'tags')[source]¶
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerCreateNotebookOperator(*, instance_name, instance_type, role_arn, volume_size_in_gb=None, volume_kms_key_id=None, lifecycle_config_name=None, direct_internet_access=None, root_access=None, create_instance_kwargs=None, wait_for_completion=True, aws_conn_id='aws_default', **kwargs)[source]¶
基类:
airflow.models.BaseOperator
创建一个 SageMaker 笔记本。
有关此运算符参数的更多信息,请参见此处 https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_notebook_instance.html。
- 参数
instance_name (str) – 笔记本实例的名称。
instance_type (str) – 要创建的实例的类型。
role_arn (str) – SageMaker 可以用来访问的 IAM 角色的 Amazon 资源名称 (ARN)
volume_size_in_gb (int | None) – 笔记本实例的 EBS 根设备卷的大小(以 GB 为单位)。
volume_kms_key_id (str | None) – EBS 根设备卷的 KMS 密钥 ID。
lifecycle_config_name (str | None) – 要与笔记本关联的生命周期配置的名称
direct_internet_access (str | None) – 是否为笔记本实例启用直接互联网访问。
root_access (str | None) – 是否为笔记本实例提供对 Amazon S3 存储桶的根访问权限。
wait_for_completion (bool) – 是否在返回之前等待笔记本变为 InService 状态
create_instance_kwargs (dict[str, Any] | None) – 用于创建调用的其他配置选项。
aws_conn_id (str | None) – 要使用的 AWS 连接 ID。
- 返回
已创建的笔记本的 ARN。
- template_fields: collections.abc.Sequence[str] = ('instance_name', 'instance_type', 'role_arn', 'volume_size_in_gb', 'volume_kms_key_id',...[source]¶
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerStopNotebookOperator(instance_name, wait_for_completion=True, aws_conn_id='aws_default', **kwargs)[source]¶
基类:
airflow.models.BaseOperator
停止一个笔记本实例。
- 参数
- template_fields: collections.abc.Sequence[str] = ('instance_name', 'wait_for_completion')[source]¶
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerDeleteNotebookOperator(instance_name, wait_for_completion=True, aws_conn_id='aws_default', **kwargs)[源代码]¶
基类:
airflow.models.BaseOperator
删除一个笔记本实例。
- 参数
- template_fields: collections.abc.Sequence[str] = ('instance_name', 'wait_for_completion')[源代码]¶
- class airflow.providers.amazon.aws.operators.sagemaker.SageMakerStartNoteBookOperator(instance_name, wait_for_completion=True, aws_conn_id='aws_default', **kwargs)[源代码]¶
基类:
airflow.models.BaseOperator
启动一个笔记本实例。
- 参数
- template_fields: collections.abc.Sequence[str] = ('instance_name', 'wait_for_completion')[源代码]¶