在 AWS Sagemaker 的 S3 中训练数据

Training data in S3 in AWS Sagemaker

我已经将我自己的 Jupyter notebook 上传到 Sagemaker,并且正在尝试为我在 S3 中的训练/验证数据创建一个迭代器,如下所示:

train = mx.io.ImageRecordIter(
        path_imgrec         = ‘s3://bucket-name/train.rec’ …… )

我收到以下异常:

MXNetError: [04:33:32] src/io/s3_filesys.cc:899: Need to set enviroment variable AWS_SECRET_ACCESS_KEY to use S3

我已经检查过附加到此笔记本实例的 IAM 角色是否具有 S3 访问权限。关于解决此问题可能需要什么的任何线索?

如果您的 IAM 角色设置正确,那么您需要先将文件下载到 Sagemaker 实例,然后再进行处理。方法如下:

# Import roles
import sagemaker
role = sagemaker.get_execution_role()

# Download file locally
s3 = boto3.resource('s3')
s3.Bucket(bucket).download_file('your_training_s3_file.rec', 'training.rec')

#Access locally
train = mx.io.ImageRecordIter(path_imgrec=‘training.rec’ …… )