我有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个进程(我认为这不可能吗?)。我还有其他方法可以构造它吗?我可以控制哪个进程执行两次吗?
谢谢。