我正在尝试SageMaker地面真理,an AWS service to help you label your data before using it in your ML algorithms。
加标签作业需要清单文件,该清单文件每行包含一个JSON对象,该对象包含source
或source-ref
,另请参见文档的Input Data section。
Source-ref是对文档在S3存储桶中的位置的引用,
my-bucket/data/manifest.json
my-bucket/data/123.txt
my-bucket/data/124.txt
...
清单文件如下所示(基于blog example):
{"source-ref": "s3://my-bucket/data/123.txt"}
{"source-ref": "s3://my-bucket/data/124.txt"}
...
创建作业时,我得到的只是source-ref
值: s3://my-bucket/data/123.txt 作为文本,即文件的内容不显示。
我尝试使用不包含s3协议的清单创建作业,但是得到相同的结果。
这是他们的虫子还是我错过了什么?
答案 0 :(得分:2)
我是AWS SageMaker GroundTruth团队的成员。很抱歉得知您在使用我们产品的某些功能时遇到困难。
从您的帖子中我假设您有多个文本文件,每个文本文件包含多行。对于文本分类,为了在控制台中显示预览,我们目前仅支持使用包含每行的“源”的内联模式。
我们知道,使用嵌入式文本创建清单很不方便,因为它既琐碎又费时。这就是为什么我们在控制台中提供了爬网功能(请参见输入清单框上的“创建输入清单”链接),该功能采用输入s3Prefix并在该前缀中爬网所有文本文件(扩展名为.txt,.csv)并读取前缀中每个文本文件的每一行,并创建一个清单,每行的名称为{“ source”:“”}。如果您可以抓取来创建清单,请告诉我们。
请注意,当前的抓取工具仅在您从控制台创建s3:// my-bucket / data /文件夹然后上载此文件夹中的所有文本文件后才起作用(而不是使用s3 cli sync工具上载本地数据/目录)。
很抱歉,如果我们的文档不清楚,我们肯定会收到您的反馈以改进我们的产品。如有任何疑问,请在这里与我们联系:https://aws.amazon.com/contact-us/
答案 1 :(得分:0)
问题在于您的预处理lambda。预处理lambda从清单中接收对象(成批afaik),即s3源。预处理lambda必须读取文件并返回实际内容。听起来您的预处理正在传递文件位置而不是内容。请参阅文档。任何示例的文本预处理lambda应该可以根据您的情况轻松调整