在AWS Sagemaker

时间:2018-03-29 05:07:08

标签: amazon-web-services amazon-s3 mxnet amazon-sagemaker

我已将我自己的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 个答案:

答案 0 :(得分: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’ …… )