我已经开发了一个rest,使用烧瓶公开了Python深度学习模型(CNN用于文本分类)。我有一个非常简单的脚本,它将模型加载到内存中,并输出给定文本输入的类概率。API在本地完全正常工作。
然而,当我git push heroku master时,我得到了Compiled slug size: 588.2M is too large (max is 500M)。该模型的大小为83 is,对于深度学习模型来说是相当小的。值得注意的依赖项包括Keras及其tensorflow后端。
我知道您可以在Heroku上使用RAM和磁盘空间的GBs。但瓶颈似乎是鼻涕虫的大小。有办法绕过这件事吗?还是Heroku不是部署深度学习模型的正确工具?
发布于 2018-03-04 18:56:23
我要检查的第一件事,正如其他人所建议的,是找出为什么您的回购是这么大,因为模型的大小只有83 as。
考虑到您不能缩小大小,可以选择卸载部分回购,但要做到这一点,您仍然需要知道哪些文件占用了空间。卸载在heroku文档中是建议的。段塞大小仅限于500 in,如下所述:如果需要更改资源,https://devcenter.heroku.com/articles/slug-compiler#slug-size和我相信这与拆分一个新实例所需的时间有关。但是,如果您有特别大的文件,则可以使用卸载。有关卸载的更多信息,请在这里:https://devcenter.heroku.com/articles/s3
发布于 2021-05-31 07:28:45
Heroku是一个非常好的云平台,可以部署您的应用程序,但是如果您有一个深度学习模型,即需要使用大型CNN /深度学习模型进行预测的应用程序,那么这种云是不合适的。您可以尝试其他云平台,如AWS、Amazon、Azure女士、IBM。
我也面临着同样的问题,在花了几天的时间后,我意识到是tensorflow库造成了这种鼻涕虫的开销。
我使用requirements.txt文件中的一行来解决这个问题:
tensorflow-cpu==2.5.0而不是
tensorflow==2.5.0您可以使用任何更新的tensorflow库版本。了解更多关于tensorflow-cpu 这里的信息
发布于 2021-02-04 13:30:31
您可以减少模型大小,并使用tensorflow-cpu,它具有较小的大小(使用Python3.8时为144 has )
pip install tensorflow-cpuhttps://stackoverflow.com/questions/48840025
复制相似问题