2

我正在尝试使用 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

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

4

1 回答 1

1

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

此外,您可能不想在 model_fn 中下载它。每个时代都会调用它。通常数据在 train_input_fn 中加载和准备。

于 2018-04-11T18:24:03.017 回答