Tensorflow具有更少GPU的多个进程模型推断

时间:2019-12-28 06:35:44

标签: python multithreading tensorflow machine-learning gpu

我有2个GPU和3个深度学习模型,希望能够对其进行推理,我真的很想优化速度。如果我先对GPU 0的2个模型进行推理,然后对GPU 1的3个模型进行推理,那将是最佳选择吗?

如果是这样,我对代码的外观感到困惑。下面是一些示例代码:

for model_idx in range(len(model_names)):
        # create thread for performing inference
        p = multiprocessing.Process(target=perform_inference_processed, args=(sess, 
                                                                      curr_graph,
                                                                      meta_graph_def,
                                                                      input_list,
                                                                      per_model_output))
        process_list.append(p)

据我所知,每个GPU上应该只运行一个进程。如果我按上述方式构建代码,那么我将在GPU 0上有2个进程(我认为这不可能吗?)。我还有其他方法可以构造它吗?我可以控制哪个进程执行两次吗?

谢谢。

0 个答案:

没有答案