好久没写 PyTorch 了,记录一下在 PyTorch 中如何让程序使用指定的 GPU,这样能有效的避免多人共用一台服务器的时候互相抢占 GPU 资源。如果不指定,PyTorch 默认会占用所有 GPU,这样是非常不友好的,建议大家都在写代码的时候指定一下 GPU。
一、PyTorch 指定 GPU 的方法
下面的内容转载自 cnblogs,原文链接在下方给出,觉得写得很完善了。
PyTorch 默认使用从 0 开始的 GPU,如果 GPU 0 正在运行程序,需要指定其他 GPU。
有如下两种方法来指定需要使用的 GPU。
1. 类似 TensorFlow 指定 GPU 的方式,使用 CUDA_VISIBLE_DEVICES
。
1.1 直接终端中设定:
CUDA_VISIBLE_DEVICES=1 python my_script.py
1.2 Python 代码中设定:
import os os.environ["CUDA_VISIBLE_DEVICES"] = "2"
见网址:http://www.cnblogs.com/darkknightzh/p/6591923.html
2. 使用函数 set_device
import torch torch.cuda.set_device(id)
该函数见 pytorch-master\torch\cuda\__init__.py
。
不过官方建议使用 CUDA_VISIBLE_DEVICES
,不建议使用 set_device
函数。
二、参考文献和结语
原文链接:https://www.cnblogs.com/darkknightzh/p/6836568.html
PyTorch 还是非常好用的,老唐本人一直用的都是 PyTorch,推荐大家使用。PyTorch 官网:https://pytorch.org