服务器运行程序一直不能上GPU,一直在CPU上跑的原因
一、问题描述
网上找的别人的开源代码,通过配置参数可以实现程序成功运行,但是运行速度很慢,通过gpustat命令查看,发现一直都是在cpu上运行,可程序中,明明写了device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
二、解决方法
1 . 通过将原程序中的device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") 更换成device = torch.device() 之后,程序便报错,显示没有可用gpu “ValueError: There is no usable gpu. set device as cpu or None .”
2. 通过pip list 命令,发现torch是cpu版本,所以一直上不了gpu,因为最初的代码写的是如果没有gpu便上cpu,因此不会报错。但是将命令更改为 `device = torch.device()`` 之后,,没有gpu便会报错。 3.因此需要安装gpu版本的torch
方法:
百度搜索框,输入“pytorch”–>“Get Started”—>“Previous Pytorch Version”---->ctrl+F弹出搜索框。输入需要的pytorch版本,如我此次需要的是1.7.1版本。 输入命令pip install torch==1.7.1+cu101 -f https://download.pytorch.org/whl/torch_stable.html (注意:一般不建议使用conda安装包,推荐使用pip 安装。后面不需要的可以不安装,可根据自己的实际需求来,如我只需要gpu版本的torch,因此我只需要执行上述命令即可)
- 执行完上述步骤之后,通过
pip liat 命令,查看已安装的包,如下:
|