tensorflow存储GPU内存的训练数据

xyd*_*xyd 9 neural-network theano deep-learning tensorflow

我对tensorflow很新.我曾经使用theano进行深度学习开发.我注意到这两者之间存在差异,即输入数据可以存储的位置.

在Theano中,它支持共享变量以在GPU内存上存储输入数据,以减少CPU和GPU之间的数据传输.

在tensorflow中,我们需要将数据提供给占位符,数据可以来自CPU内存或文件.

我的问题是:是否可以将输入数据存储在GPU内存中以进行张量流动?还是已经以某种神奇的方式做到了?

谢谢.

Vin*_*cke 13

如果您的数据适合GPU,您可以将它从例如numpy数组加载到GPU上的常量:

with tf.device('/gpu:0'):
  tensorflow_dataset = tf.constant(numpy_dataset)
Run Code Online (Sandbox Code Playgroud)

提取小批量的一种方法是在每个步骤切片该数组,而不是使用tf.slice以下方式提供它:

  batch = tf.slice(tensorflow_dataset, [index, 0], [batch_size, -1])
Run Code Online (Sandbox Code Playgroud)

围绕该主题有许多可能的变体,包括使用队列动态地将数据预取到GPU.