gpt4 book ai didi

python - 如何使用 boto3 在 Python 中获取 S3 目录作为 os.path?

转载 作者:行者123 更新时间:2023-12-01 09:07:44 24 4
gpt4 key购买 nike

在Python中,我们通常处理这样的目录:

MODEL_DIR = os.path.join(ROOT_DIR, "logs")

但是,假设我在 S3 存储桶内有相同的日志目录,我该如何使用 boto3 将 S3 上的路径获取为 str

用例:

我正在编写一个 AWS Lambda 函数,该函数将权重从 s3 存储桶加载到 Keras 模型以返回预测。

最佳答案

如果 Keras 直接支持 S3,请阅读 Keras 文档并按照其说明进行操作。

如果Keras支持从内存加载模型数据,则将文件从S3读取到内存中并从那里加载模型数据。例如:

import boto3
s3 = boto3.client('s3')
obj = s3.get_object(Bucket='mybucket', Key='data/input.csv')
contents = obj['Body'].read()
# model = load_model(contents)

如果 Keras 需要本地文件,则将文件从 S3 下载到 Lambda 中的/tmp,然后从那里加载模型数据。例如:

import boto3
s3 = boto3.resource('s3')
s3.meta.client.download_file('mybucket', 'data/input.csv', '/tmp/input.csv')
# model = load_model('/tmp/input.csv')

我怀疑后者是您所需要的,要加载多个文件,只需将每个文件从 S3 下载到/tmp,然后从/tmp 加载模型。

关于python - 如何使用 boto3 在 Python 中获取 S3 目录作为 os.path?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51911088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com