将 TensorFlow 模型部署到服务器?

时间:2021-01-14 23:11:31

标签: python tensorflow heroku keras streamlit

我正在尝试将 Python ML 应用程序(使用 Streamlit 制作)部署到服务器。这个应用基本上加载了一个我之前训练过的神经网络模型,并使用这个模型进行分类预测。

我遇到的问题是,因为 TensorFlow 是一个如此大的包(对于最新的 tensorflow-cpu 版本至少 150MB),我尝试使用的托管服务 (Heroku) 一直告诉我我超出了存储限制300MB。

我想知道是否还有其他人遇到过类似的问题,或者是否知道如何解决/解决此问题?

到目前为止我尝试过的

  • 我已经尝试用 tensorflow-cpu 替换 tensorflow 要求,这确实显着减小了尺寸,但它仍然太大,所以 -
  • 我还尝试将 tensorflow-cpu 版本降级到 tensorflow-cpu==2.1.0 终于奏效了,但后来我在 model.load() 上遇到了问题(我认为这可能与我降级了tf 版本,因为它在本地工作正常)

1 个答案:

答案 0 :(得分:1)

我去年也遇到过同样的问题。我知道这不能回答您的 Heroku 特定问题,但我的解决方案是将 Docker 与 AWS Beanstalk 结合使用。它比 Heroku 便宜,而且我在部署方面遇到的问题更少。如果您有兴趣,我可以指导如何执行此操作