如何在AWS SageMaker培训期间阅读文件?

时间:2018-04-11 10:12:56

标签: tensorflow amazon-sagemaker

我正在尝试使用AWS SageMaker训练自定义张量流模型。因此,在我应该提供的model_fn方法中,我希望能够读取外部文件。我已将文件上传到S3并尝试阅读如下:

BUCKET_PATH = 's3://<bucket_name>/data/<prefix>/'

def model_fn(features, labels, mode, params):
    # Load vocabulary
    vocab_path = os.path.join(BUCKET_PATH, 'vocab.pkl')
    with open(vocab_path, 'rb') as f:
        vocab = pickle.load(f)
    n_vocab = len(vocab)
    ...

我得到IOError: [Errno 2] No such file or directory

如何在培训期间阅读此文件?

1 个答案:

答案 0 :(得分:0)

我不认为pickle.load可以ping一个S3存储桶。您可以将数据保存在python笔记本路径中,也可以使用boto3客户端下载它。

此外,您可能不想在model_fn中下载它。这将是每个时代的要求。通常,数据在train_input_fn中加载和准备。