如果您的 AWS SageMaker 处理作业出现错误,通常可以采取以下措施来进行故障排除:
使用以下代码可以获取作业日志:
import boto3
sm = boto3.client('sagemaker')
job_name = 'your-processing-job-name'
response = sm.describe_processing_job(ProcessingJobName=job_name)
print(response['ProcessingOutputConfig']['Outputs'][0]['S3Output'])
此代码将打印出处理作业的输出日志所在的 S3 存储桶地址。您可以使用以下代码来下载输出日志并进行查看:
import boto3
s3 = boto3.resource('s3')
bucket = 'your-bucket-name'
key = 'your-output-log-file-path'
obj = s3.Object(bucket, key)
output_log = obj.get()['Body'].read().decode('utf-8')
print(output_log)
确保您使用的是正确的处理代码,并且代码中没有语法错误和逻辑错误。检查您的代码是否正确可以使用以下代码:
!pylint your-processing-script.py
此命令将使用 Pylint 对您的代码进行静态分析,并提供代码质量报告。
确保您的处理作业的资源配置(如实例类型、实例数等)与您的数据集和处理代码的要求相匹配。根据您的需求,您可以使用以下命令更改您的资源配置:
from sagemaker.processing import ProcessingConfig
from sagemaker.processing import ProcessingInput
from sagemaker.processing import ProcessingOutput
config = ProcessingConfig(
instance_type='ml.m5.large',
instance_count=2,
max_runtime_in_seconds=7200,
)
input_data = ProcessingInput(
input_name='input',
s3_input=S3Input(s3_data='s3://mybucket/mydata'),
)
output_data = ProcessingOutput(
output_name='output',
s3_output=S3Output(s3_uri='s3://mybucket/myoutput'),
)
希望这些提示可以帮助您解决 AWS SageMaker 处理作业的错误。