Question:
GPU是一种擅长处理专业计算的处理器。这与中央处理器(CPU)形成鲜明对比,中央处理器是一种擅长处理一般计算的处理器。CPU是为我们电子设备上大多数典型计算提供动力的处理器。GPU的计算速度比CPU快得多。但是,情况并非总是如此。GPU 相对于 CPU 的速度取决于所执行的计算类型。最适合 GPU 的计算类型是可以并行完成的计算。在PyTorch中利用CUDA非常容易。如果我们想在GPU上执行特定的计算,我们可以通过在我们的数据结构(张量)上调用cuda()来指示PyTorch这样做。
有时,我们需要安装CUDA版本的PytTorch,但是却发现已经安装了CPU版本的PyTorch,这时需要卸载原来的PyTorch后再安装CUDA版本的。
Solve:
1. 检查自己是否安装了PyTorch
如上图所示,可以看到已经安装了CPU版本的PyTorch.(没有的话直接安装GPU的PyTorch即可)
注:直接pip install的就是CPU版本的,注意pip install的时候不能科学上网,一定要关掉!!
2. 卸载原来的PyTorch
pip uninstall torch
pip uninstall torchvision
3. 查看自己GPU的CUDA型号
!nvidia-smi
注:!表示这是Linux语句,如果在终端输入命令无需加上!
可见👆,我的CUDA版本是11.6,因此去PyTorch官网下载对应的版本即可。
还有另外一种方式查看CUDA的版本,就是在命令行中输入如下命令:
nvcc -V
nvcc --version
4. 安装CUDA11.6的PyTorch
https://pytorch.org/get-started/locally/
找到对应的命令后执行即可。如果出现下载中断或者下载进度过慢,可以考虑:(1)使用热点(博主感觉很好用);(2)科学上网(看运气);(3)换源(清华源,中科大源)
5. 验证是否安装成功
import torch # 如果pytorch安装成功即可导入
print(torch.cuda.is_available()) # 查看CUDA是否可用
print(torch.cuda.device_count()) # 查看可用的CUDA数量
print(torch.version.cuda) # 查看CUDA的版本号
附:为什么大家都用Anaconda?
Anaconda是一个Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,它是科学计算领域非常流行的Python包以及集成环境管理的应用。它的优势主要表现在以下几个方面:
默认可以帮你安装好Python主程序,而不用单独下载安装。
常用的数据工作包,包含数据导入、清洗、处理、计算、展示等各个环节的主要包都已经安装好,如Pandas、Numpy、Scipy、Statsmodels、Scikit-Learn(sklearn)、NetworkX、Matplotlib等。常用的非结构化数据处理工具也一应俱全,如beautifulsoup4、lxml、NLTK、pillow、scikit-image等。
很多包的安装有依赖,这点在Linux系统上非常常见,而Anaconda已经将这些依赖的问题统统解决。尤其在离线环境下做Python和大量库的安装部署工作时,Anaconda大大降低了实施难度,是项目开发过程中必不可少的有效工具。
提供了类似于pip的包管理功能的命令conda,可以对包进行展示、更新、安装、卸载等常用操作。当然,如果你更喜欢pip,仍然可以继续使用该命令,因为Anaconda默认也安装了该命令。
多平台、多版本的通用性,而且紧跟Python主程序更新的步伐。Anaconda支持Windows、Mac OS和Linux系统,且同时包含32位和64位的Python版本(Python 2和Python 3全都支持)。
提供了IPyton、Jupyter、Spyder交互环境,可以直接通过界面化的方式引导用户操作,易用程度非常高,甚至连具体细分的学习资源都准备好了。