【问题标题】:CNN model for deployment: how to optimize用于部署的 CNN 模型:如何优化
【发布时间】:2021-03-01 16:38:11
【问题描述】:

这是我第一次部署模型。我使用 tensorflow、keras、Xception 创建了一个 cnn 模型,保存的模型约为 80 mb。当我从函数加载它并进行预测时,大约需要 4-5 秒。有没有办法减少这个时间?是否必须为每个预测加载模型?

enter image description here

【问题讨论】:

  • 是否必须为每个预测加载模型? 您也可以尝试使用model(x) 而不是model.predict(x)
  • 我将函数添加为图像。我会研究模型(x)
  • 谢谢,model(x) 缩短了预测时间。

标签: tensorflow optimization conv-neural-network


【解决方案1】:

模型在您的程序中只加载一次。对于每个预测,您使用加载的模型。可能需要时间来预测。 TensorFlow 不会在预测时加载模型。更好的方法是仅在训练后保存权重,并为推理创建模型架构,然后加载保存的权重。

【讨论】:

  • 我添加了我的函数的图像。 model=load_model('model.h5') 在我的函数内。我必须在一个网站上部署多个模型,所以还有另一个 py 文件导入了这个函数。我该怎么办?
  • 最佳实践是编写一个单调类来加载和预测模型,并将模型加载到类的构造函数中。单例类仅初始化一次,因此您的模型仅在应用程序启动时加载一次。这个问题很有帮助:stackoverflow.com/questions/6760685/…
  • 谢谢,我试试看。
猜你喜欢
  • 2019-01-09
  • 2019-03-16
  • 2021-12-15
  • 2022-01-18
  • 2019-05-29
  • 2016-07-02
  • 2011-05-22
  • 2020-11-04
  • 2012-02-18
相关资源
最近更新 更多