问题描述
当前,我一直在像这样从S3下载我的ONNX模型:
s3 = boto3.client('s3')
if os.path.isfile('/tmp/model.onnx') != True:
s3.download_file('test','models/model.onnx','/tmp/model.onnx')
inference_session = onnxruntime.InferenceSession('/tmp/model.onnx')
但是,我想减少必须下载此模型的延迟。为此,我希望将模型保存在AWS Lambda层中。但是,这样做很麻烦。
- python
- model.onnx
,然后像inference_session = onnxruntime.InferenceSession('/opt/model.onnx')
一样加载它,但出现“文件不存在”错误。我应该怎么做才能确保可以在/opt/
目录中找到该模型?
注意:我的AWS Lambda函数在Python 3.6上运行。
解决方法
您的文件应位于/opt/python/model.onnx
中。因此,您应该可以使用以下方法来获取它:
inference_session = onnxruntime.InferenceSession('/opt/python/model.onnx')
如果您不希望文件位于python
文件夹中,则不要使用该文件夹创建图层。只需将model.onnx
放在zip的根文件夹中,而不要放在python
文件夹中即可。