进行预测时,Google AI平台上的JupyterLab笔记本超慢

时间:2019-11-18 20:53:50

标签: python-3.x google-cloud-platform tensorflow2.0 jupyter-lab gcp-ai-platform-notebook

我已将训练有素的tensorflow v2模型上传到Google AI平台,以对看不见的数据进行预测。 这些数据以碎片形式存储在Google Cloud Storage中,每个碎片的大小约为300 MB。

我正在使用笔记本电脑预处理数据,效果很好。 在对预处理数据进行预测时,它可以运行,但速度非常慢,仅需300 MB的文件,大约需要90分钟。我有很多这样的碎片,所以我必须找到一种加快处理速度的方法。

我在cpu,RAM甚至gpu方面尝试了不同的笔记本配置,但对预测运行时间没有影响。

我想念什么吗?任何想法都非常感谢!

1 个答案:

答案 0 :(得分:0)

当尝试优化模型以服务于最重要的考虑因素时

1:模型尺寸

2:预测速度

3:预测吞吐量

TensorFlow中存在多种技术,可让您缩小模型的尺寸并改善预测延迟。

”冻结:     将存储在SavedModel的检查点文件中的变量转换为
    直接存储在模型图中的常数。这样可以减小模型的整体尺寸。

修剪:     去除预测路径和图形输出中未使用的节点,合并重复的节点,以及清除其他节点操作,例如摘要,标识等。

恒定折叠:     在模型中查找始终评估为常量表达式的任何子图,然后将其替换为这些常量。

折叠批处理规范:     将批量归一化中引入的乘法折叠为上一层的权重乘法。

量化:     将权重从浮点转换为较低的精度,例如16或8位。

实际过程将是这样

  1. 冻结SavedModel:     SavedModel⇒GraphDef
  2. 优化冻结的模型:     GraphDef⇒GraphDef
  3. 将优化的冻结模型转换回SavedModel:     GraphDef⇒SavedModel

可以在此处找到详细介绍整个投放服务优化的非常好的帖子 优化TensorFlow模型以服务1