之前把一台旧的服务器的环境移植到了这台新的服务器上,跑旧的服务器的代码,出错
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
- 安装这个apex的第三步再次报错:
解决方案:
nvcc -V
以及
torch.version.cuda
的版本要一致。
torch:1.2.0
cuda:10.0.130
3. 我这里就明显不一致的,使用conda重新指定torch版本进行安装, CUDA 10.0 Linux and Windows执行下面一条命令,设置CUDA 10.0
pip install torch=1.2.0 torchvision=0.4.0
记得把等号换成双等号!
安装成功后,效果如下:
print(torch.version.cuda)
10.0.130
- 再次执行apex安装的第三条语句:报错csrc/mlp.cpp:126:54: error: expected primary-expression before ‘>’ token
error: command ‘gcc’ failed with exit status 1
-
解决方法
git checkout f3a960f80244cf9e80558ab30f7f7e8cbf03c0a0 -
然后再次执行apex.的第三条安装语句,显示successfully installed apex.
-
测试:
python
import apex
至此才成功