【问题标题】:Deploy TensorFlow model to server?将 TensorFlow 模型部署到服务器?
【发布时间】:2021-04-20 00:27:48
【问题描述】:

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

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

我想知道是否有其他人有类似的问题或知道如何解决/解决此问题?

到目前为止我所做的尝试

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

【问题讨论】:

    标签: python tensorflow heroku keras streamlit


    【解决方案1】:

    您可能下载了多个模块。我建议您打开文件资源管理器并查看下载模块的实际目录。

    【讨论】:

    • 您能详细说明一下吗?多个模块是什么意思?我使用了 requirements.txt 文件进行部署,所以唯一下载的模块应该是 requirements.txt 文件中的模块吧?
    • 我相信有时你可以拥有同一个模块的多个副本。这发生在我的 yfinance 和搞砸的东西。
    【解决方案2】:

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

    【讨论】:

    • 这种方式能不能支持持续部署,而且是免费的?如果是,我将不胜感激开始它的一些帮助!
    • CI/CD 是可能的。您可以获得免费的 AWS 积分here。要 Dockerize 您的应用程序,请查看此link。如果您遇到困难,请告诉我!
    猜你喜欢
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    相关资源
    最近更新 更多