Customer Error: imread read blank (None) image for file- Sagemaker AWS
Customer Error: imread read blank (None) image for file- Sagemaker AWS
我正在关注此 tutorial 以及我的自定义数据和训练和验证数据所在的自定义 S3 存储桶。我收到以下错误:
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
”的文件夹中
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
。任何建议都会很棒。
Sagemaker 将您在 s3train
中指定的输入数据复制到 /opt/ml/input/data/train/
中的实例中,这就是您出现错误的原因,因为正如您从错误消息中看到的那样,它正在尝试连接文件名在 lst
文件中,包含它期望图像所在的路径。因此,只需将文件名放在 lst
中就可以了(删除 s3 路径)。
我正在关注此 tutorial 以及我的自定义数据和训练和验证数据所在的自定义 S3 存储桶。我收到以下错误:
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
”的文件夹中
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
。任何建议都会很棒。
Sagemaker 将您在 s3train
中指定的输入数据复制到 /opt/ml/input/data/train/
中的实例中,这就是您出现错误的原因,因为正如您从错误消息中看到的那样,它正在尝试连接文件名在 lst
文件中,包含它期望图像所在的路径。因此,只需将文件名放在 lst
中就可以了(删除 s3 路径)。