关于Pytorch使用CUDA进行GPU加速的几个问题

目录

 

测试pytorch版本和与cuda版本是否匹配:

版本不匹配

GPU占用率

多线程问题


测试pytorch版本和与cuda版本是否匹配:

import torch
print(torch.__version__)
print(torch.cuda.is_available())


#测试python版本
import sys
print(sys.version)

如果显示 True,那么大概率是没有问题的。

如果显示False,而且你也确定安装好CUDA与cudnn

可能是版本不匹配

https://blog.csdn.net/kellyroslyn/article/details/109668001

在这里插入图片描述

在这里插入图片描述

nvidia-smi
#查看GPU的运行状况,也可查看驱动版本与CUDA版本


nvcc -V
#可用于查看CUDA版本

值得注意的是两个查出来的版本可能不太一样(哪里安装时出了问题),不过这不是关键,不影响使用

版本不匹配

如果CUDA与Pytorch版本不匹配,使用下面的方法,更新一下某个版本

(1)指定安装PyTorch版本
当已知CUDA版本时,可根据表2直接查询到对应版本PyTorch,运行conda install pytorch=X.X.X -c pytorch即可安装指定版本PyTorch。此命令由conda决定与PyTorch对应的CUDAToolkit。但不能保证PyTorch可正常使用,CUDAToolkit版本不适配显卡驱动,即可能导致CUDAToolkit版本高于CUDA驱动。
(2)指定CUDAToolkit版本
首先运行nvidia-smi查询CUDA驱动版本,再根据1查询到对应CUDAToolkit版本,再运行conda install pytorch cudatoolkit=X.X -c pytorch即可安装指定CUDAToolkit版本的PyTorch。
(3)同时指定PyTorch和CUDAToolkit版本
如果你十分确定CUDA版本以及对应PyTorch和CUDAToolkit对应版本可运行conda install pytorch=X.X.X cudatoolkit=X.X -c pytorch

GPU占用率

print(torch.cuda.is_available())
如果输出为True之后,但GPU占用还是很低,可能是没选到CUDA,在性能监视器哪里选一下

关于Pytorch使用CUDA进行GPU加速的几个问题_第1张图片

https://blog.csdn.net/qq_32998593/article/details/92849585/

对占用率不满意看一下这篇文章

 

多线程问题

使用num_workers>0多线程训练时。报错

试过把data_loader部分用if __name__ == '__main__':包起来,没效果。得把所有的代码都包起来才行(包括train部分)

https://blog.csdn.net/weixin_42236288/article/details/80893882

 

多线程的处理速度确实会更快,占用的GPU也会更多

 

你可能感兴趣的:(python,pytorch,cuda,pytorch,python,多线程,神经网络)