Sagemaker数据捕获不会写入文件。

0

【以下的问题经过翻译处理】 我想在特定的端点上启用数据捕获(目前仅通过控制台)。该端点功能正常,还记录和返回所需结果。但是,没有文件写入指定的S3位置。

端点配置

该端点基于一个具有scikit learn分类器的训练作业。它只有一种变体,即“ml.m4.xlarge”实例类型。使用100%的采样百分比启用数据捕获。作为数据捕获存储位置,我尝试使用s3://<bucket-name>以及s3://<bucket-name>/<some-other-path>。在“捕获内容类型”中,我尝试将所有内容留空,在“CSV / Text”中设置“text / csv”,在“JSON”中设置“application / json”。

端点调用

端点在具有客户端的Lambda函数中调用。这是调用:

sagemaker_body_source = {
            "segments": segments,
            "language": language
        }
payload = json.dumps(sagemaker_body_source).encode()
response = self.client.invoke_endpoint(EndpointName=endpoint_name,
                                       Body=payload,
                                       ContentType='application/json',
                                       Accept='application/json')
result = json.loads(response['Body'].read().decode())
return result["predictions"]

在内部,端点使用Flask API,具有返回结果的/invocation路径。

日志

端点本身运行良好,Flask API记录输入和输出:

INFO:api:body: {'segments': [<strings...>], 'language': 'de'}
INFO:api:output: {'predictions': [{'text': 'some text', 'label': 'some_label'}, ....]}
profile picture
专家
已提问 1 年前49 查看次数
1 回答
0

【以下的回答经过翻译处理】 所以问题似乎与IAM角色有关。默认角色(ModelEndpoint-Role)没有访问写S3文件的权限。它可以通过SDK工作,因为它在sagemaker studio中使用另一个角色。我没有收到任何关于此的错误消息。

profile picture
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则