当在AWS SageMaker Ground Truth中使用自定义标注工作流时,有时可能会出现"consolidatedAnnotation attribute is null error"错误。这个错误通常是由于标注工作流中的某些设置不正确导致的。下面是解决方法的代码示例:
{
"preHumanTaskLambdaArn": "arn:aws:lambda:us-east-1:1234567890:function:pre-human-task-lambda",
"annotationTaskConfig": {
"taskTitle": "My Custom Annotation Task",
"numberOfHumanWorkersPerDataObject": 3,
"annotationConsolidationConfig": {
"annotationConsolidationLambdaArn": "arn:aws:lambda:us-east-1:1234567890:function:annotation-consolidation-lambda"
}
},
"humanTaskUiArn": "arn:aws:sagemaker:us-east-1:1234567890:human-task-ui/my-custom-ui",
"inputConfig": {
"dataSource": {
"s3DataSource": {
"manifestS3Uri": "s3://my-bucket/my-manifest.manifest"
}
},
"dataAttributes": {
"contentClassifiers": ["FreeOfPersonallyIdentifiableInformation"]
}
},
"outputConfig": {
"s3OutputPath": "s3://my-bucket/output"
}
}
import json
def lambda_handler(event, context):
# 解析输入参数
input_data = event["inputContent"]
# 处理标注任务
# ...
# 假设我们从标注工人获取了一些标注结果
annotation_results = [{"label": "positive"}, {"label": "negative"}]
# 构建输出结果
output_data = {
"consolidatedAnnotation": {
"content": {
"annotations": annotation_results
}
}
}
# 返回输出结果
return {
"output": output_data
}
import json
def lambda_handler(event, context):
# 解析输入参数
input_data = event["payload"]
# 处理标注汇总
# ...
# 假设我们将所有标注结果汇总为一个列表
consolidated_annotations = []
for annotation_result in input_data:
consolidated_annotations.extend(annotation_result["annotations"])
# 构建输出结果
output_data = {
"consolidatedAnnotation": {
"content": {
"annotations": consolidated_annotations
}
}
}
# 返回输出结果
return {
"output": output_data
}
确保以上步骤中的代码逻辑正确,并且您已正确配置了标注工作流定义文件和相关Lambda函数。这样,您应该能够解决"consolidatedAnnotation attribute is null error"错误。