在多个GPU上运行Tensorflow模型推理脚本
我试图从tensorflow objec detection API运行模型评分(推理图),以便在多个GPU上运行它,尝试在main中指定GPU编号,但它仅在单个GPU上运行 使用tensorflow gpu==1.13.1,您能告诉我这里缺少什么吗在多个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
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
选项一起使用需要手动指定要在何处运行张量。。。将自动为您未指定的张量选择设备。也许会有帮助。