【问题标题】:Use images in s3 with SageMaker without .lst files将 s3 中的图像与 SageMaker 一起使用,而无需 .lst 文件
【发布时间】:2019-10-23 03:28:11
【问题描述】:

我正在尝试在 s3 和 SageMaker 之间创建(我认为的)一个简单的图像分类管道。

图像存储在 s3 存储桶中,当前文件名中包含其类标签,例如

My-s3-bucket-dir

cat-1.jpg
dog-1.jpg
cat-2.jpg
..

我一直在尝试利用几个相关的示例 .py 脚本,但大多数似乎是下载已经采用 .rec 格式的数据集或包含我没有的特殊清单或注释文件。

我想要的只是将图像从 s3 传递到位于同一区域、IAM 帐户等的 SageMaker 图像分类算法。我想这意味着我需要一个 .lst 文件

当我尝试手动创建 .lst 时,它似乎并不喜欢它,而且手动工作也需要很长时间才能成为一种好习惯。

如何自动生成.lst 文件(或以其他方式发送图像/类进行训练)?

我读到的东西听起来像是im2rec.py 是一个解决方案,但我不知道如何解决。我现在使用的示例是

Image-classification-fulltraining-highlevel.ipynb

但它似乎将数据下载为.rec

download('http://data.mxnet.io/data/caltech-256/caltech-256-60-train.rec')
download('http://data.mxnet.io/data/caltech-256/caltech-256-60-val.rec')

它只是跳过使用 .jpeg 文件。我找到了另一个将它们转换为 .rec 的方法,但它本质上还是 .lst 已经作为 .json 并且只是转换它。

我主要在 AWS 控制台(在我的浏览器中)中使用 Python Jupyter 笔记本,但我也尝试过使用他们的 GUI。

如何在不手动创建 .lst 文件的情况下简单地自动生成 .lst 或以其他方式将数据/类信息导入 SageMaker?

更新

看起来 im2py 无法针对 s3 运行。您必须将所有 s3 存储桶中的所有内容完全下载到笔记本的存储中...

请注意 [...] im2rec.py 正在本地运行, 因此无法从 S3 存储桶获取输入。生成列表 文件,您需要下载数据,然后使用 im2rec 工具。 - AWS SageMaker 团队

【问题讨论】:

    标签: python-3.x amazon-s3 computer-vision amazon-sagemaker


    【解决方案1】:

    有 3 个选项可以向图像分类算法提供带注释的数据:(1) 在 recordIO 文件中打包标签,(2) 在 JSON 清单文件中存储标签(“增强清单”选项),(3) 将标签存储在一个列表文件。所有选项都记录在这里:https://docs.aws.amazon.com/sagemaker/latest/dg/image-classification.html

    Augmented Manifest 和 .lst 文件选项可以快速执行,因为它们只需要您创建一个注释文件,例如通常快速的 for 循环。 RecordIO 要求您使用im2rec.py 工具,这需要更多的工作。

    使用 .lst 文件是另一种选择,这相当容易:您只需使用快速 for 循环为它们创建注释,如下所示:

    # assuming train_index, train_class, train_pics store the pic index, class and path
    
    with open('train.lst', 'a') as file:
        for index, cl, pic in zip(train_index, train_class, train_pics):
            file.write(str(index) + '\t' + str(cl) + '\t' + pic + '\n')
    

    【讨论】:

    • 我想我知道这些事情,但这似乎是一个有效的答案,所以我会投票并选择它。我希望有一些更神奇的东西,所以如果有人提交更像这样的东西,我可能需要更改所选的解决方案。谢谢!干杯
    猜你喜欢
    • 1970-01-01
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多