airflow.providers.amazon.aws.hooks.sagemaker¶
类¶
一种枚举风格的类,包含 CloudWatch 日志流的所有可能状态。 |
|
与 Amazon SageMaker 交互。 |
函数¶
|
给定可调用对象 |
检查训练作业的二级状态消息是否已更改。 |
|
|
格式化包含开始时间和训练作业二级状态消息的字符串。 |
模块内容¶
- class airflow.providers.amazon.aws.hooks.sagemaker.LogState[source]¶
一种枚举风格的类,包含 CloudWatch 日志流的所有可能状态。
https://sagemaker.readthedocs.io/en/stable/session.html#sagemaker.session.LogState
- airflow.providers.amazon.aws.hooks.sagemaker.argmin(arr, f)[source]¶
给定可调用对象
f
,在arr
中找到使f(arr[i])
最小化的索引。如果
arr
为空,则返回 None。
- airflow.providers.amazon.aws.hooks.sagemaker.secondary_training_status_changed(current_job_description, prev_job_description)[source]¶
检查训练作业的二级状态消息是否已更改。
- airflow.providers.amazon.aws.hooks.sagemaker.secondary_training_status_message(job_description, prev_description)[source]¶
格式化包含开始时间和训练作业二级状态消息的字符串。
- class airflow.providers.amazon.aws.hooks.sagemaker.SageMakerHook(*args, **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook
与 Amazon SageMaker 交互。
提供对
boto3.client("sagemaker")
的厚封装。可以指定其他参数(例如
aws_conn_id
),这些参数会传递给底层的 AwsBaseHook。- multi_stream_iter(log_group, streams, positions=None)[source]¶
遍历可用事件。
从单个日志组中的一组日志流中提取事件,并将来自每个流的事件交织在一起,以便按时间戳顺序生成。
- 参数:
- 返回:
一个 (流编号, CloudWatch 日志事件) 元组。
- 返回类型:
- create_training_job(config, wait_for_completion=True, print_log=True, check_interval=30, max_ingestion_time=None)[source]¶
启动一个模型训练作业。
训练完成后,Amazon SageMaker 会将生成的模型制品保存到您指定的 Amazon S3 位置。
- create_tuning_job(config, wait_for_completion=True, check_interval=30, max_ingestion_time=None)[source]¶
启动一个超参数调优作业。
超参数调优作业通过使用您选择的算法和在指定范围内超参数值,在您的数据集上运行许多训练作业来找到模型的最佳版本。然后,它会选择能够产生最佳性能模型的超参数值(以您选择的目标指标衡量)。
- create_transform_job(config, wait_for_completion=True, check_interval=30, max_ingestion_time=None)[source]¶
启动一个转换作业。
转换作业使用训练好的模型在数据集上进行推理,并将结果保存到您指定的 Amazon S3 位置。
- create_processing_job(config, wait_for_completion=True, check_interval=30, max_ingestion_time=None)[source]¶
使用 Amazon SageMaker Processing 分析数据和评估模型。
通过 Processing,您可以在 SageMaker 上使用简化的托管体验来运行数据处理工作负载,例如特征工程、数据验证、模型评估和模型解释。
- create_model(config)[source]¶
在 Amazon SageMaker 中创建模型。
在请求中,您命名模型并描述一个主容器。对于主容器,您指定包含推理代码、制品(来自之前的训练)以及部署模型进行预测时推理代码使用的自定义环境变量映射的 Docker 镜像。
- 参数:
config (dict) – 模型配置
- 返回:
模型创建的响应
- create_endpoint_config(config)[source]¶
创建用于部署模型的端点配置。
在配置中,您确定要部署的一个或多个模型(使用 CreateModel API 创建)以及您希望 Amazon SageMaker 预置的资源。
另请参阅
- 参数:
config (dict) – 端点配置
- 返回:
端点配置创建的响应
- create_endpoint(config, wait_for_completion=True, check_interval=30, max_ingestion_time=None)[source]¶
从配置创建端点。
创建无服务器端点时,SageMaker 会为您预置和管理计算资源。然后,您可以向端点发送推理请求并接收模型预测作为响应。SageMaker 会根据请求流量需要扩展或缩减计算资源。
另请参阅
- update_endpoint(config, wait_for_completion=True, check_interval=30, max_ingestion_time=None)[source]¶
部署请求中的配置并切换到使用新端点。
使用之前的 EndpointConfig 为端点预置的资源将被删除(不会丢失可用性)。
- describe_training_job_with_log(job_name, positions, stream_names, instance_count, state, last_description, last_describe_job_call)[source]¶
获取关联的训练作业信息并打印 CloudWatch 日志。
- check_status(job_name, key, describe_function, check_interval, max_ingestion_time=None, non_terminal_states=None)[source]¶
检查 SageMaker 资源的状态。
- 参数:
job_name (str) – 要检查状态的资源的名称,可以是作业,例如也可以是管道。
key (str) – 响应字典中指向状态的键
describe_function (Callable) – 用于检索状态的函数
args – 函数的参数
check_interval (int) – 操作符检查任何 SageMaker 资源状态的时间间隔(秒)
max_ingestion_time (int | None) – 最大摄取时间(秒)。任何运行时间超过此值的 SageMaker 资源都将失败。将其设置为 None 表示对任何 SageMaker 资源都没有超时限制。
non_terminal_states (set | None) – 非终止状态的集合
- 返回:
资源完成后 describe 调用的响应
- 返回类型:
- check_training_status_with_log(job_name, non_terminal_states, failed_states, wait_for_completion, check_interval, max_ingestion_time=None)[source]¶
显示给定训练作业的日志。
可选地跟踪它们,直到作业完成。
- 参数:
job_name (str) – 要检查状态和显示日志的训练作业的名称
non_terminal_states (set) – 非终止状态的集合
failed_states (set) – 失败状态的集合
wait_for_completion (bool) – 是否持续查找新的日志条目,直到作业完成
check_interval (int) – 轮询新日志条目和作业完成之间的间隔(秒)
max_ingestion_time (int | None) – 最大摄取时间(秒)。任何运行时间超过此值的 SageMaker 作业将失败。将其设置为 None 表示对任何 SageMaker 作业都没有超时限制。
- list_training_jobs(name_contains=None, max_results=None, **kwargs)[source]¶
调用 boto3 的
list_training_jobs
。训练作业名称和最大结果数可通过参数配置。其他参数不可通过参数配置,应通过 kwargs 提供。请注意,boto3 期望这些参数采用驼峰命名法(CamelCase),例如
list_training_jobs(name_contains="myjob", StatusEquals="Failed")
- list_transform_jobs(name_contains=None, max_results=None, **kwargs)[source]¶
调用 boto3 的
list_transform_jobs
。转换作业名称和最大结果数可通过参数配置。其他参数不可通过参数配置,应通过 kwargs 提供。请注意,boto3 期望这些参数采用驼峰命名法(CamelCase),例如
list_transform_jobs(name_contains="myjob", StatusEquals="Failed")
- list_processing_jobs(**kwargs)[source]¶
调用 boto3 的 list_processing_jobs。
所有参数都应通过 kwargs 提供。请注意,boto3 期望这些参数采用驼峰命名法(CamelCase),例如
list_processing_jobs(NameContains="myjob", StatusEquals="Failed")
- count_processing_jobs_by_name(processing_job_name, job_name_suffix=None, throttle_retry_delay=2, retries=3)[source]¶
获取找到的具有指定名称前缀的处理作业数量。
- start_pipeline(pipeline_name, display_name='airflow-triggered-execution', pipeline_params=None)[source]¶
启动 SageMaker 管道的新执行。
- stop_pipeline(pipeline_exec_arn, fail_if_not_running=False)[source]¶
停止 SageMaker 管道执行。
- 参数:
- 返回:
操作后管道执行的状态。是 ‘Executing’|’Stopping’|’Stopped’|’Failed’|’Succeeded’ 中的一个。
- 返回类型:
- create_auto_ml_job(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)[source]¶
创建一个 AutoML 作业来预测给定列。
学习输入基于通过 S3 提供的数据,输出写入指定的 S3 位置。
- 参数:
job_name (str) – 要创建的作业名称,在账户内必须唯一。
s3_input (str) – 用于获取数据的 S3 位置(文件夹或文件)。默认情况下,它期望带标题行的 csv。
target_attribute (str) – 包含要预测的值的列的名称。
s3_output (str) – 写入模型工件的 S3 文件夹。必须少于或等于 128 个字符。
role_arn (str) – 与 S3 交互时使用的 ARN 或 IAM 角色。必须对输入文件夹有读访问权限,对输出文件夹有写访问权限。
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
- 返回类型:
dict | None