【发布时间】:2020-04-13 15:09:01
【问题描述】:
我正在尝试运行 Lambda 函数来创建 SageMaker 训练作业,使用的参数与之前的另一个训练作业相同。这是我的 lambda 函数:
def lambda_handler(event, context):
training_job_name = os.environ['training_job_name']
sm = boto3.client('sagemaker')
job = sm.describe_training_job(TrainingJobName=training_job_name)
training_job_prefix = 'new-randomcutforest-'
training_job_name = training_job_prefix+str(datetime.datetime.today()).replace(' ', '-').replace(':', '-').rsplit('.')[0]
print("Starting training job %s" % training_job_name)
resp = sm.create_training_job(
TrainingJobName=training_job_name,
AlgorithmSpecification=job['AlgorithmSpecification'],
RoleArn=job['RoleArn'],
InputDataConfig=job['InputDataConfig'],
OutputDataConfig=job['OutputDataConfig'],
ResourceConfig=job['ResourceConfig'],
StoppingCondition=job['StoppingCondition'],
VpcConfig=job['VpcConfig'],
HyperParameters=job['HyperParameters'] if 'HyperParameters' in job else {},
Tags=job['Tags'] if 'Tags' in job else [])
[...]
我不断收到以下错误消息:
调用 CreateTrainingJob 操作时发生错误 (ValidationException):您无法覆盖 Amazon SageMaker 算法的指标定义。请在不指定指标定义的情况下重试请求。:ClientError 回溯(最近一次通话最后): 文件“/var/task/lambda_function.py”,第 96 行,在 lambda_handler 中 StoppingCondition=job['StoppingCondition']
,超参数和标签出现同样的错误。
我试图删除这些参数,但它们是必需的,所以这不是解决方案:
Parameter validation failed:
Missing required parameter in input: "StoppingCondition": ParamValidationError
我尝试对这些变量进行硬编码,但它导致了同样的错误。
完全相同的功能曾经可以工作,但仅适用于少数训练作业(大约 5 个),然后它给出了此错误消息。现在它完全停止工作,并且出现相同的错误消息。知道为什么吗?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-sagemaker