我正在比较具有两个GPU的机器上的两个预训练模型,一个在Tensorflow中,一个在Pytorch中。每种型号都可安装在一个GPU上。它们都加载在相同的Python脚本中。如何为Tensorflow模型分配一个GPU,为Pytorch模型分配另一个GPU?
设置CUDA_VISIBLE_DEVICES=0,1
仅告诉两个模型这些GPU都可用-我(我猜想在Python中)如何确保Tensorflow占用GPU 0,Pytorch占用GPU 1?
答案 0 :(得分:1)
您可以参考torch.device
。 https://pytorch.org/docs/stable/tensor_attributes.html?highlight=device#torch.torch.device
尤其是
device=torch.device("gpu:0")
tensor = tensor.to(device)
或加载预训练的模型
device=torch.device("gpu:0")
model = model.to(device)
将张量/模型放在gpu 0上。
类似地,张量流具有tf.device。 https://www.tensorflow.org/api_docs/python/tf/device。 https://www.tensorflow.org/guide/using_gpu
在此描述了其用法让tensorflow在gpu:0上加载模型
with tf.device("gpu:0"):
load_model_function(model_path)