由于ubuntu20.04第一次安装(之前失败过,就放弃了),安装显卡(我的是3090)驱动时我选择软件与更新自动安装了显卡驱动,这也为之后留下了隐患。在之后安装pytorch后,一切程序都可运行,但有一天之前的代码突然不能用了,说是ModuleNotFoundError: No module named 'fused_layer_norm_cuda',然后百度告诉我
是apex安装出了问题
安装apex步骤如下,
git clone https://github.com/NVIDIA/apex.git
cd apex
python setup.py install --cpp_ext --cuda_ext
按照这个步骤,我发现我并不能成功到第三步,后来又百度告诉我
nvcc -V以及torch.version.cuda的版本要一致。好,突然我就去检查发现我运行nvcc-V不行,没有,于是我按照提示的装上还是不行,于是又回到了原点。我突然意识到我的pytorch装成功了吗,我就去检查发现,
import torch # 如正常则静默
a = torch.Tensor([1.]) # 如正常则静默
a.cuda()
第三句不能正常运行,那可能就是我的cuda版本有问题了,于是我去官网装了cuda10.2,安装步骤如链接 https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal
我发现下载下来后我不能正常安装,提示的错误意思是gcc版本不对,过高(此时是9.3),于是按照这个链接我装了gcc7.5.https://blog.csdn.net/ggggyj/article/details/117691948。
再安装cuda就成功了。
之后就是添加环境了,结束,成功。