sagemaker

时间:2018-08-03 10:22:32

标签: amazon-web-services amazon-s3 image-recognition amazon-sagemaker

我的S3存储桶的文件夹结构为:

Bucket
    ->training-set
           ->medium
                 ->    img1.jpeg
                 ->    img2.jpeg
                 ->    img3.PNG

我的training-set.lst文件如下所示:

1  \t 1  \t medium/img1.jpeg
2  \t 1  \t medium/img2.jpeg
3  \t 1  \t medium/img3.PNG

我是使用excel工作表创建的。

错误: 培训失败,并出现以下错误:ClientError:无效的第一个文件:training-set.lst

   "InputDataConfig": [
        {
          "ChannelName": "train",
          "CompressionType": "None",
          "ContentType": "application/x-image",
          "DataSource": {
            "S3DataSource": {
              "S3DataDistributionType": "FullyReplicated",
              "S3DataType": "S3Prefix",
              "S3Uri": 's3://{}/training-set/'.format(bucket)
            }
          },
          "RecordWrapperType": "None"
        },
        {
          "ChannelName": "validation",
          "CompressionType": "None",
          "ContentType": "application/x-image",
          "DataSource": {
            "S3DataSource": {
              "S3DataDistributionType": "FullyReplicated",
              "S3DataType": "S3Prefix",
              "S3Uri": 's3://{}/test-set/'.format(bucket)
            }
          },
          "RecordWrapperType": "None"
        },
        {
          "ChannelName": "train_lst",
          "CompressionType": "None",
          "ContentType": "application/x-image",
          "DataSource": {
            "S3DataSource": {
              "S3DataDistributionType": "FullyReplicated",
              "S3DataType": "S3Prefix",
              "S3Uri": "s3://bucket/training-set/training-set.lst"
            }
          },
          "RecordWrapperType": "None"
        },
        {
          "ChannelName": "validation_lst",
          "CompressionType": "None",
          "ContentType": "application/x-image",
          "DataSource": {
            "S3DataSource": {
              "S3DataDistributionType": "FullyReplicated",
              "S3DataType": "S3Prefix",
              "S3Uri": "s3://bucket/test-set/test-set.lst"
            }
          },
          "RecordWrapperType": "None"
        }
    ]

我正在尝试在Amazon Sagemaker中使用它。但是我做不到。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您的问题并没有明确说明这一点-但是根据您对问题的描述,我是否假设您尝试使用SageMaker图像分类算法(https://docs.aws.amazon.com/sagemaker/latest/dg/image-classification.html)正确?

您能否通过下载“ s3://bucket/training-set/training-set.lst”(不要使用您拥有的本地副本)并检查此文件的内容来进行仔细检查-请不要使用Excel打开它,用文本编辑器打开它,并检查格式是否符合上面记录的规范-特别是我要确保该文件未采用非标准编码进行编码(应采用UTF8),并且没有多余的制表符或空格。

还请查看您的培训工作日志,那里可能有其他线索指出发生了什么问题。

答案 1 :(得分:0)

能否请您发布正在使用的第一个文件,请查看文档,在S3存储桶中的文件夹层次结构顶部,需要用制表符分隔的文件位置。这是我构建的花卉分类示例中的train_set.lst文件的示例:

1   0   daisy/754296579_30a9ae018c_n.jpg
2   1   dandelion/18089878729_907ed2c7cd_m.jpg
3   1   dandelion/284497199_93a01f48f6.jpg
4   1   dandelion/3554992110_81d8c9b0bd_m.jpg
5   0   daisy/4065883015_4bb6010cb7_n.jpg

请注意,序列索引(第一列)是必需的,并且分类问题的类需要进行数字编码(从零开始)。

希望这会有所帮助!