【发布时间】:2020-03-19 12:17:15
【问题描述】:
我目前想在 Heroku 上使用 Flask 部署深度学习 REST API。权重(它是一个预训练的 BERT 模型)存储在here*as a .zip file。有没有办法可以直接部署这些?
根据我目前的理解,我必须将这些上传到 Github/S3。这有点麻烦,而且似乎毫无意义,因为它们已经被托管了。请告诉我!
【问题讨论】:
标签: heroku deep-learning pytorch
我目前想在 Heroku 上使用 Flask 部署深度学习 REST API。权重(它是一个预训练的 BERT 模型)存储在here*as a .zip file。有没有办法可以直接部署这些?
根据我目前的理解,我必须将这些上传到 Github/S3。这有点麻烦,而且似乎毫无意义,因为它们已经被托管了。请告诉我!
【问题讨论】:
标签: heroku deep-learning pytorch
通常,您可以编写一个 bash 脚本来解压缩内容,然后执行您的程序。不过……
时间问题:拆包需要时间。免费层的 heroku 工作人员在被强制重启之前只工作了大约一天。如果您使用的是网络测功机,则重新启动会更加频繁,并且如果启动时间过长,则进程会失败(绑定到 $PORT 需要 60 秒)
大小问题:该 zip 文件有 386 MB 大,解压后可能会更大。
Heroku 的 slug 大小限制为 500 MB,请参阅:https://devcenter.heroku.com/changelog-items/1145
解压缩 zip 文件后,您将超出限制。 zip 文件本身 + 其解压缩的内容远远超过 500 MB。您需要预先解压并确保文件小于 500 MB。但鉴于数据已压缩 386 MB 并解压,它会更大。此外,您将依赖一些构建包(python、javascript、...),并且处理它会占用内存。您将超过 500 MB。
这意味着:您需要为 Heroku 服务付费或寻找其他托管服务提供商。
【讨论】: