(终于解决!)安装apex遇到的一系列问题

安装介绍

apex的安装步骤很简单,两步:
1、下载包(也可以直接进https://github.com/NVIDIA/apex手动下载到本地);

git clone https://github.com/NVIDIA/apex

2、安装包;

cd apex
python setup.py install	
//这条命令的成功率比较高,有时运行其他的安装命令会出错

报错

安装步骤简单但是过程中可能会出错。
以下报错可能在安装其他包时也会遇到,解决方法基本通用

错误1:ImportError: cannot import name ‘packaging’ from ‘pkg_resources’

在这里插入图片描述

无法导入'packaging'包,可以做以下尝试:

1)安装packaging;

pip install packaging

可以用 “pip list” 查看安装的包,检查一下有没有packaging。

2)如果安装了packaging还是报错无法导入,试着在_in_process.py文件里添加系统路径;
顺序执行下述步骤(也可以Ctrl直接跳转到_in_process.py文件里修改):

vim /home/usr4/anaconda3/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py #_in_process.py的文件路径可以在报错信息里找
sys.path.append('/home/usr4/anaconda3/lib/python3.8/site-packages')	#把该行添加到_in_process.py文件里
:wq #把文件保存退出

3)若还不能解决,可以尝试指定setuptools版本;

pip install setuptools==69.5.1

错误2:TypeError: unsupported operand type(s) for +: ‘NoneType’ and ‘str’

在这里插入图片描述

这个错误的原因很多,极有可能是cuda或者cudnn未正确安装,或者版本不对(我就是这个原因)。做以下尝试:

1)首先要确认是否安装了cuda和cudnn:

#查看cuda版本
nvidia-smi 
nvcc -V
#或者python验证cuda
python
import torch
print(torch.__version__)	#torch版本
print(torch.version.cuda)	#cuda版本
print(torch.cuda.is_available())	#验证cuda

注意:CUDA有runtime api 和 driver api,两者都有对应的CUDA版本, nvcc --version 显示的就是前者对应的CUDA版本,而 nvidia-smi显示的是后者对应的CUDA版本。gpu中最好保证这两个版本一致,防止产生某些冲突。

#验证cudnn
python
from torch.backends import cudnn 
print(cudnn.is_available())  #返回True说明已经安装了cuDNN

2)我的 cudnn.is_available() 返回了false,需要安装cudnn,步骤如下:
先在地址https://developer.nvidia.com/rdp/cudnn-archive中下载符合自己cuda版本的cudnn到本地;
在这里插入图片描述

解压后执行下述步骤安装(实际上就是将下载好的cudnn的头文件复制到CUDA的头文件目录里面去、把cuDNN的库复制到CUDA的库目录里面去):

# 复制cudnn头文件
sudo cp cudnn/include/* /usr/local/cuda-11.3/include/
# 复制cudnn的库
sudo cp cudnn/lib64/* /usr/local/cuda-11.3/lib64/
# 添加可执行权限
sudo chmod +x /usr/local/cuda-11.3/include/cudnn.h
sudo chmod +x /usr/local/cuda-11.3/lib64/libcudnn*

注意,这里的 cudnn/include/* 要替换为自己实际下载的cudnn头文件目录,cudnn/lib64/* 同理;
目标cuda路径选择自己正在运行的环境,可以 “ls /usr/local” 查看自己有哪些可选路径。

3)cuda和cudnn都安装好后,如果还是不能成功执行 “python setup.py install ”,可能是torch版本和cuda版本不兼容。

以下是Pytorch和CUDA对应的版本
在这里插入图片描述
我的CUDA版本是11.3,torch是2.3.1。当我把torch版本更新为1.11.0,就能成功安装apex了。

4)还可以尝试:

export TORCH_CUDA_ARCH_LIST="compute capability"
conda install -c nvidia cuda-nvcc

最后成功安装的界面如下
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值