在AWS Sagemaker中的S3训练数据

3

我已经将自己的Jupyter笔记本上传到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 访问权限。有什么线索可以解决这个问题吗?
1个回答

4
如果您的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’ …… )

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接