我做了一个前端,我想对AWS进行REST调用,并与AWS网关进行接口。
我放弃了我的模型作为泡菜文件(所以我的编码器),我最初的培训在当地。然后,我将这些文件存储在一个S3桶中。
问题是,我不能导入像熊猫和滑雪这样的库来做模型预测,因为lambda控制台找不到它们。
有人有什么建议来帮助解决这个问题吗?
发布于 2019-03-25 16:43:16
您需要创建一个部署包,其中包括您想要在Lambda (sklearn和大熊猫)中使用的包。
然后,您可以将该部署包上传到S3并将其导入到Lambda函数中,也可以将其上传到Lambda函数本身。
Lambda函数代码必须在AWS之外编写,并包含在部署包中。这是一本关于如何做的指南。
发布于 2019-04-09 14:44:54
使用层将使依赖关系具有更高的可重用性,并且可能更容易维护和部署。
简短的版本是:
requirements.txt或类似的pip freeze创建如下所示:pandas==0.23.4
pytz==2018.7get_layer_packages.sh bash脚本,如下所示:#!/bin/bash
export PKG_DIR="python"
rm -rf {PKG_DIR} && mkdir -p #qcStackCode#{PKG_DIR}
docker run --rm -v (pwd):/foo -w /foo lambci/lambda:build-python3.6 \
pip install -r requirements.txt --no-deps -t #qcStackCode#{PKG_DIR}chmod +x get_layer_packages.sh
./get_layer_packages.sh
zip -r my-Python36-Pandas23.zip .我对python不太熟悉,我花了相当长的时间在熊猫拉链和虚拟env上玩,也从来没有真正使用过对接器来做任何IRL,但是这个过程实际上比我以前使用的venv > zip >上传过程要容易得多(而且有更好的文档记录)。
https://datascience.stackexchange.com/questions/47955
复制相似问题