Tensorflow程序使用哪个内存来存储数据?

时间:2019-05-03 14:56:32

标签: python tensorflow gpu ram

我认为以下情况。

  1. 使用带有GPU的Tensorflow创建ML模型以解决图像分类问题
  2. 要加载图像,请使用枕头,进行预处理时,请使用numpy
  3. ML模型在tf.placeholder中获取输入数据

我知道tensorflow-gpu尽可能在GPU上使用RAM来存储参数作为默认值。但是对于传递到tf.placeholder之前的输入数据,它存储在哪个RAM中,用于CPU还是用于GPU?

1 个答案:

答案 0 :(得分:0)

根据定义,placeholder在馈送之前没有数据。在此进行许多假设,除非您将数据通过tf.constant()完整地复制到GPU内存中(如果您的数据集适合可用的GPU内存,则可以这样做),否则数据存在于CPU /系统内存中,并且需要复制到GPU内存。

根据您在第1步和第2步中描述的内容,看起来像hereenter image description here

的简单实现/缺乏流水线。
  

但是,在幼稚的同步实现中,当CPU准备数据时,加速器处于空闲状态。相反,在加速器训练模型时,CPU处于空闲状态。因此,训练步骤时间是CPU预处理时间和加速器训练时间的总和。

在进行培训之前,您的数据存在于CPU /系统内存中。