heroku - 在 Heroku 上部署托管的深度学习模型?
问题描述
我目前想在 Heroku 上使用 Flask 部署深度学习 REST API。权重(它是一个预训练的 BERT 模型)存储在这里*为 .zip 文件。有没有办法可以直接部署这些?
据我目前了解,我必须将这些上传到 Github/S3。这有点麻烦,而且似乎毫无意义,因为它们已经被托管了。一定要告诉我!
解决方案
通常,您可以编写一个 bash 脚本来解压缩内容,然后执行您的程序。然而...
时间问题:拆包需要时间。免费层的 heroku 工作人员在被强制重启之前只工作了大约一天。如果您正在操作网络测功机,则重新启动将更加频繁,并且如果启动过程花费的时间太长,则该过程将失败(绑定到 60 秒
$PORT
)大小问题:该 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 服务付费或寻找不同的托管服务提供商。
推荐阅读
- html - 如何将下拉菜单添加到标题导航栏?
- flutter - Flutter 在 iOS 设备上运行:错误:无法连接到 lockedd,错误代码 -8
- ngxs - 性能 ngxs 和 redux 开发工具的问题
- modelica - 计算带有连接器的模型中的方程数
- python - 根据条件将scrapy项目保存到Postgres表
- identityserver4 - 尽管刷新令牌已过期,但错误地自动登录
- javascript - Vanilla JS – 根据父容器获取元素位置(百分比)
- python - 如何使用 Python 将 Json 行转换为镶木地板?
- java - 在 Anvil Inventory 中创建和设置 ItemStacks (Bukkit/Spigot API)
- python - Discord.py - 服务器静音用户