apex安装问题解决

哈哈哈哈,可谓是“久病成医”,终于把这个问题给解决了。

(1)首先,说说官方或github上的安装步骤:linux系统:

git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

一般来说,第一第二步都没啥子问题,第三步安装的过程中往往会报错。接下来说说我遇到的报错。

(2)报错1:RuntimeError: Cuda extensions are being compiled with a version of Cuda that does not match the version used to compile Pytorch binaries. Pytorch binaries were compiled with Cuda 10.1.。

这里提示:cuda的扩展不兼容pytorch的扩展,经过查阅,参考文章:Pytorch 安装 APEX 疑难杂症解决方案 - 知乎,可知是系统nvcc兼容的cuda版本与pytorch下载的cuda版本不一致。我的情况如下:

pytorch对应的cuda版本。

import torch
print(torch.version.cuda)  系统显示为10.1。

cuda扩展对应的cuda版本

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

显然两个版本不一致,于是要么更改nvcc 的cuda为10.1,或者下载pytorch版本cuda对应10.0。由于我没有服务器的root权限,无法更改nvcc的对应版本,故选择后一种方式。但这时,在pytorch我没有找到10.0的版本,于是尝试9.2版本,还是报错。当时就很生气,为什么呀?   哈哈,科研人还是得保持平静的心态。于是在浏览知乎时,文章Pytorch安装 - 知乎,居然看见了10.0版本的pytorch下载:

pip install torch==1.4.0+cu100 torchvision==0.5.0+cu100 -f https://download.pytorch.org/whl/torch_stable.html

下载后查询cuda版本:10.0

import torch

print(torch.version.cuda)

这样这个问题就解决了。

(3)报错2:runtimerror:--cuda_ext was requested,but nvcc was not found。这是由于我用户环境下没有添加跟根目录下的:nvcc.添加linux环境变量参考:linux给用户设置环境变量,linux添加环境变量4种方法_weixin_39637049的博客-CSDN博客

我是选择第三种,安装文章所操作,并在末尾添加相应的路径,但不知如何保存退出,有人知道的话可以说一下。于是直接找到了源文件,直接添加保存。问题解决

(4)报错3:error: command 'gcc' failed with exit status 1。“you're trying to build pytorch with a too old version of gcc。we need gcc 5 or later”。这里是gcc版本出了问题,通过:gcc-v查到版本为4.8.5<5,需要更新或安装更新版本的gcc版本。由于我是在服务器上,无root权限,所以只能咨询管理员帮忙下载或者选择已经在系统目录下的gcc版本:source /public/software/profile.d/compiler_gcc-7.3.1.sh即可。通过gcc-v查询即可验证是否变为7.3.1.

运行第三步:pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./。安装成功

你可能感兴趣的:(pytorch,深度学习,人工智能,机器学习)