TensorFlow服务RAM使用情况

时间:2019-05-31 16:41:13

标签: python tensorflow tensorflow-serving

我在文档中找不到有关如何在TensorFlow Serving中保存和加载模型以及在CPU与GPU上运行时可能存在差异的特定信息。

为服务多个模型(以及每个模型的一个或多个版本),一种常规工作流程为:

  • 火车模型
  • 保存冻结的模型( tf.saved_model.simple_save
  • 创建包含以下内容的目录结构
    • saved_model.pb
    • variables / variables.data
    • variables / variables.index
  • 指向 config.conf
  • 中的模型和版本

我目前正在CPU上进行推理,并立即加载许多模型,这比预期更快地消耗了RAM。保存的模型在磁盘上相对较小,但是当TF Serving将模型加载到内存中时,其大小几乎增加了一个数量级。磁盘上的一个 200MB 保存的模型在RAM中变成了 1.5GB ,极大地限制了可以加载的模型数量。

问题:

  • 是否会出现这种现象(RAM中的内存占用更大)?
  • TF服务在CPU和GPU上使用内存的方式有区别吗?
  • 我们能够通过在GPU上进行推理来加载更多模型吗?

松散相关的搜索结果:

1 个答案:

答案 0 :(得分:0)

是的。

不,CPU / GPU无关紧要

由于GPU内存少于系统内存,因此您可能需要更少的GPU内存。