我使用自定义数据和训练和验证数据所在的自定义S3存储桶遵循此tutorial。我收到以下错误:
Customer Error: imread read blank (None) image for file: /opt/ml/input/data/train/s3://image-classification/image_classification_model_data/train/img-001.png我把我所有的训练数据都放在一个名为'train‘的文件夹里,我已经按照doc的建议设置了我的lst文件,
22 1 s3://image-classification/image_classification_model_data/train/img-001.png
86 0 s3://image-classification/image_classification_model_data/train/img-002.png
...我的其他配置:
s3_bucket = 'image-classification'
prefix = 'image_classification_model_data'
s3train = 's3://{}/{}/train/'.format(s3_bucket, prefix)
s3validation = 's3://{}/{}/validation/'.format(s3_bucket, prefix)
s3train_lst = 's3://{}/{}/train_lst/'.format(s3_bucket, prefix)
s3validation_lst = 's3://{}/{}/validation_lst/'.format(s3_bucket, prefix)
train_data = sagemaker.inputs.TrainingInput(s3train, distribution='FullyReplicated',
content_type='application/x-image', s3_data_type='S3Prefix')
validation_data = sagemaker.inputs.TrainingInput(s3validation, distribution='FullyReplicated',
content_type='application/x-image', s3_data_type='S3Prefix')
train_data_lst = sagemaker.inputs.TrainingInput(s3train_lst, distribution='FullyReplicated',
content_type='application/x-image', s3_data_type='S3Prefix')
validation_data_lst = sagemaker.inputs.TrainingInput(s3validation_lst, distribution='FullyReplicated',
content_type='application/x-image', s3_data_type='S3Prefix')
data_channels = {'train': train_data, 'validation': validation_data, 'train_lst': train_data_lst,
'validation_lst': validation_data_lst}我检查了下载的图像和物理检查,我看到了图像。现在确定这个错误作为blank抛出的是什么。任何建议都是很棒的。
发布于 2021-03-25 22:57:52
Sagemaker将您在s3train中指定的输入数据复制到/opt/ml/input/data/train/中的实例中,这就是出现错误的原因,因为正如您从错误消息中看到的那样,它试图将lst文件中的文件名与它期望图像所在的路径连接起来。因此,只需将文件名放入您的lst中就可以了(删除s3路径)。
https://stackoverflow.com/questions/66793845
复制相似问题