如何在部署之间在 EB/EC2 实例上保留大型 Tensorflow 预训练模型

时间:2021-02-19 13:46:55

标签: python amazon-web-services amazon-ec2 amazon-elastic-beanstalk web-deployment

我正在使用 Elastic Beanstalk(在 Amazon Linux v.2.9.18 上运行的 Python 3.6)来部署 Flask 应用程序,我很确定在每次部署时根应用程序文件夹(例如 FlaskApp/app 目录)都会被擦除.所以我想将预训练的模型下载到某个地方,它会一直存在,直到实例被终止/删除。这个想法是需要下载模型(发生时从 Google Drive 下载,但如果我使用 S3 也同样适用),这需要长达一分钟(~600MB),所以理想情况下我想尽量减少发生这种情况的次数.因此,模型文件需要持久化到实例而不是持久化存储。

我在实例的文件系统上找不到好的 AWS 资源,特别是关于部署之间的更改,但是我认为主目录 (~/) 将在部署之间保留。这是我应该保留预训练模型的地方吗?

此外,我计划使用 Python 来检查文件并在文件丢失时下载。我的 Python 应用能否从主目录读取和写入数据?

最后,我的模型在工作时使用了大约 2GB 的 RAM,并且有点占用 CPU(在无 GPU 的笔记本电脑上生成一张图像需要大约 10 秒 @100% CPU 利用率)所以我认为 t2 .small(1vCPU,2GB RAM)或 t2.medium(2vCPU,4GB RAM)就足够了。有什么想法吗?

谢谢

0 个答案:

没有答案
相关问题