赞
踩
1. 使用nvcc -V命令查看cuda版本,再在官网选择对应版本的pytorch。(是的不要根据python的版本去选择pytorch指令)
2. 用conda安装pytorch可能一直有cpuonly的玄学问题。(哪怕选择的是CUDA版本的pytorch安装命令)改用pip安装或者去https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/
下载下安装包后自己 conda install --use-local xxx.tar.bz2
3. torchtext不会被顺带安装,要安装完pytorch之后pip安装指定版本的。
4. miniconda下一个的安装包默认是在当前的虚拟环境,可以用conda list查看当前环境已经安装的包。
5. 安装torchtext的时候如果torchtext和pytorch版本不一致,哪怕是第二个小数点后的版本不一致,pytorch也会被重新安装。torchtext 0.9.1 和 pytorch 1.8.1刚好对应。妙哉。
6. 有三种安装方式,优先级如下: mamba > conda > pip
7. pip install一个包,若环境中已存在这个包的其他版本(无论高或低),那么会在安装完成后卸载掉。
8. 不要过分迷信官网给的安装指令。pytorch官网中给的安装命令中有的包括torchvision,torchaudio,但是如果不做视觉、声音方面的东西,后面两个包根本没用嘛,比如我做序列处理,需要的torchtext反而没被安装。我先安装torchtext,再安装pytorch才把一篇论文中的模型复现的。
9. 打印CUDA_VISIBLE_DEVICES这个环境变量看看(echo $CUDA_VISIBLE_DEVICES),显示的是你可以用哪几块GPU,如果结果是2,3,那么你在程序中写的gpu_ranks:0实际上是第二块GPU。这也是为什么明明GPU显存看上去很够用,但是报错CUDA out of memory.
比较好的方式是在运行前使用nvidia-smi查看哪几块卡显存充足,再在程序开头加上os.environ["CUDA_VISIBLE_DEVICES"] = '0,1,2,3'
10. 不要忽视包的版本号透露的信息,例如
py3.7_cuda11.3 表示当前环境下的python应当是3.7版,cudatoolkit应该是11.3版。
cudatoolkit 的版本应该根据nvcc -V 的结果
11. $CUDA_HOME 一般等于/usr/local/cuda-11.1(对应nvcc -V) 11.1可能是别的
12. ModuleNotFoundError 所提示的模块名 有时需要将下划线(_)换成短横线(-)才能安装
例如
ModuleNotFoundError: No module named 'cpm_kernels'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。