Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tensorflow多GPU训练_Python_Ubuntu_Tensorflow_Deep Learning - Fatal编程技术网

Python tensorflow多GPU训练

Python tensorflow多GPU训练,python,ubuntu,tensorflow,deep-learning,Python,Ubuntu,Tensorflow,Deep Learning,根据tensorflow 1.2.0教程,我创建了一个多GPU培训系统: 在创建多GPU版本之前,我能够在单个GPU上安装64个批量大小。我想如果我按照上面的教程创建了一个多GPU版本的代码,我可以通过数据并行化来适应更多的批处理。我希望使用4个GPU,每个GPU的批处理大小为64,但我面临内存不足的问题。当批处理大小为64时,我只能使用2个GPU进行数据并行,而当批处理大小为32时,我只能使用4个GPU。在这两种情况下使用更多GPU时,我都会遇到以下错误: tensorflow.python

根据tensorflow 1.2.0教程,我创建了一个多GPU培训系统:

在创建多GPU版本之前,我能够在单个GPU上安装64个批量大小。我想如果我按照上面的教程创建了一个多GPU版本的代码,我可以通过数据并行化来适应更多的批处理。我希望使用4个GPU,每个GPU的批处理大小为64,但我面临内存不足的问题。当批处理大小为64时,我只能使用2个GPU进行数据并行,而当批处理大小为32时,我只能使用4个GPU。在这两种情况下使用更多GPU时,我都会遇到以下错误:

tensorflow.python.framework.errors_impl.InternalError: Dst tensor is not initialized.

在谷歌上,我发现这个错误发生在GPU内存不足的时候。我不明白为什么会这样。我的机器上有8张nvidia titan卡,每张卡有12吉比特的内存。我不明白为什么当我可以在一个GPU上安装64的批处理大小时,我不能在两个以上的GPU上安装64的相同批处理大小。为什么记忆会饱和?增加使用的GPU数量是否会增加一些开销

是否缺少循环前面定义的变量范围

   with tf.variable_scope(tf.get_variable_scope()):

        for i in xrange(FLAGS.num_gpus): 

             with tf.device('/gpu:%d' % i):

我正在使用教程中指定的名称\u范围。我没有遗漏范围,除非你说我应该用变量范围替换名称范围?