我正在尝试使用Zappa在AWS lambda上加载模型。问题是Zappa创建并上传到S3的程序包中的总解压缩文件大小约为550mb,超过了限制。我正在使用的软件包之一是Spacy(非常大的NLP依赖项),我可以通过手动删除lang文件夹中未使用的语言来减小此软件包的大小。这样做,我可以将解压缩后的文件大小控制在500mb以下。问题是Zappa会在部署和更新时自动下载完整的Spacy版本(spacy == 2.1.4:使用本地缓存的manylinux轮)。
我了解到我可以调用Zappa软件包,它将生成一个软件包,然后可以自己上传。我要做的是解压缩生成的程序包并删除不必要的lang文件,然后将其压缩回来。我可以调用Zappa Deploy / Update并使用由Zappa Package创建的修改后的软件包和处理程序吗?这样Zappa仍然可以处理部署。
答案 0 :(得分:0)
对我来说,以下两件事解决了该问题:
要激活此功能,必须在zappa_settings.json
"slim_handler": true
python3 -m spacy download en
)进行安装,而不安装。之后,我将语言包手动上传到S3,然后加载了如下所示的伪语言“模型”:Sklearn joblib load function IO error from AWS S3 答案 1 :(得分:0)
这是我解决问题的方法,有两种方法: