Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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
在多个GPU上运行Tensorflow模型推理脚本_Tensorflow_Scoring_Multi Gpu - Fatal编程技术网

在多个GPU上运行Tensorflow模型推理脚本

在多个GPU上运行Tensorflow模型推理脚本,tensorflow,scoring,multi-gpu,Tensorflow,Scoring,Multi Gpu,我试图从tensorflow objec detection API运行模型评分(推理图),以便在多个GPU上运行它,尝试在main中指定GPU编号,但它仅在单个GPU上运行 使用tensorflow gpu==1.13.1,您能告诉我这里缺少什么吗 for i in range(2): with tf.device('/gpu:{}' . format(i)): tf_init() init = tf.global_variabl

我试图从tensorflow objec detection API运行模型评分(推理图),以便在多个GPU上运行它,尝试在main中指定GPU编号,但它仅在单个GPU上运行

使用tensorflow gpu==1.13.1,您能告诉我这里缺少什么吗

for i in range(2):
        with tf.device('/gpu:{}' . format(i)):
            tf_init()
            init = tf.global_variables_initializer
           with detection_graph.as_default():
              with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as session:
                   call to #run_inference_multiple_images function
对的响应应该为您提供一些解决此问题的选项

通常TensorFlow会占用所有可见的GPU,除非另有说明。因此,如果您还没有尝试过,可以使用tf.device行删除
(假设您只有两个GPU),TensorFlow应该同时使用这两个GPU


否则,我认为最简单的方法是使用
os.environ[“CUDA\u VISIBLE\u DEVICES”]=“0,1”

设置环境变量。感谢您的回复,我尝试了指定的方法,但它仍然只在一个GPU上运行,在启动会话
tf.ConfigProto(GPU选项。允许增长=True)时还尝试了在配置下添加
tf.ConfigProto(device_count={'GPU':2})
在模型训练期间,当num_clone设置为4时,它已经使用了系统中的所有GPU,不确定这里缺少什么。它是否与tensorflow gpu版本有关?TF分配所有gpu,但可能不会全部使用。也许它已经决定不需要第二个来推断?你可以试着运行一个更大的模型。此外,将
与tf.device
选项一起使用需要手动指定要在何处运行张量。。。将自动为您未指定的张量选择设备。也许会有帮助。