赞
踩
首先我们要清楚一些库的使用是相互之间制约的,意思就是相关的库版本要匹配。当我们在ubuntu系统使用gpu时,同样需要注意。整个内容主要涉及到NVIDIA驱动,cuda安装,cudnn安装,以及虚拟环境创建。
比较常见的是根据pytorch版本选择自身系统允许运行的cuda版本,然后根据cuda版本选择cudnn版本,而自身系统允许运行的cuda版本则要根据NVIDIA驱动选择。值得一提的是与gcc版本与CUDA版本相关,不过这里没讲了。
NVIDIA驱动:默认是有驱动的,如果没有可以csdn找下下载方式,这里不在赘述。我们需要先了解电脑硬件所建议的驱动版本是什么,最值得注意的是驱动的最高型号,因为cuda的版本对驱动型号是有要求的。
NVIDIA适合的所有驱动查看方法如下:
方法一:查看可安装的驱动版本$ ubuntu-drivers devices
方法二:桌面设置(齿轮样子)-软件更新-驱动版本
注意:这个指令$ nvidia-smi也可以查询适配最高的驱动版本以及最高适配cuda版本。
cuda安装:以cuda10.2为例,如果能找到别人直接给的网址那是最好的
如果需要自己找,恰巧只会进入cuda最新版本,那么我们可以下面这样。这是我进入的cuda11.7页面但我需要是10.2版本那么我们可以进入箭头所指向网址,
1.cuda10.2
http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
不行的话,我们可以选择cuda官网:
CUDA Toolkit Archive | NVIDIA Developer
找到需要的版本后我们可以通过浏览器直接下载但那样会很慢,建议使用找到要下载的网址利用wget下载:
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
下载后解压
sudo sh cuda_10.2.89_440.33.01_linux.run
等到more出来要一直按enter,后面打accept,后面按提示操作,这里注意如果本身有渠道那么在问是否更新驱动那栏可以去掉。
其他版本:
wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run
2.设置环境变量
终端打开文件:sudo gedit /etc/profile
在文件末尾加以下的代码并保存(我的是64位系统所以是lib64,如果是32位系统则是lib即可):
export PATH=/usr/local/cuda-9.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
或者
export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:
两个哪个有用用哪个
之后运行下source ~/.bashrc
别的版本要把9.2或者10.2改成对应版本。
检查环境变量是否配置成功。
cat /proc/driver/nvidia/version
nvcc -V
显示出版本信息即安装成功了,
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Tue_Jun_12_23:07:04_CDT_2018
Cuda compilation tools, release 10.2, V9.2.148
还可以使用cat /usr/local/cuda/version.txt查看
注意:如果显示没有nvcc指令那有两种情况,一种是需要下载指令用sudo apt install nvidia-cuda-toolkit;另一种则是cuda没装好。
Question:
没有nvcc指令,报错提示是在terminal中输入sudo apt-get install nvidia-cuda-toolkit安装,但是执行命令后,nvcc命令可以正常执行,但是运行nvcc -version发现版本为7.5,与安装的CUDA 10.2不匹配
Answer:
首先卸载nvidia-cuda-toolkit
sudo apt-get autoremove nvidia-cuda-toolkit
查看/usr/local/cuda/bin下是否有nvcc可程行程序如果没有说明cuda没有正常安装,需要重新安装,如果有,进入下一步添加环境变量,打开~/.bashrc ,sudo gedit ~/.bashrc
添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
export PATH=$PATH:/usr/local/cuda-10.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.2
保存,再终端运行:source ~/.bashrc 使之生效
再次输入nvcc --version。看到以下提示:
bash:/usr/bin/nvcc: No such file or directory
则将/usr/local/cuda/bin下的nvcc复制到这个目录下
安装cudnn:
cudnn官方安装包链接(包含所有版本):
https://developer.nvidia.com/rdp/cudnn-archive
找到对应cuda版本的cudnn然后选择cudnn library for linux右击复制网址。
还是通过wget下载比较快:wget+网址
这里cudadnn8.0.4:
https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.4/10.2_20200923/cudnn-10.2-linux-x64-v8.0.4.30.tgz
下载指令:
wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.4/10.2_20200923/cudnn-10.2-linux-x64-v8.0.4.30.tgz
wget下载cudnn报错显示403.
这是因为:Nvidia要求下载时进行验证(事实上,在我们从浏览器端下载cuDNN时,会被要求登录),而我们直接使用wget跳过了验证,所以被Forbidden了
我们可以按如下方法下载:
1.https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.4/10.2_20200923/cudnn-10.2-linux-x64-v8.0.4.30.tgz
2.CUDNN_TAR_FILE="cudnn-10.2-linux-x64-v8.0.4.30.tgz" #与上面链接中的相对应
3.wget http://developer.download.nvidia.com/compute/redist/cudnn/v8.0.4/${CUDNN_TAR_FILE} #v8.0.4与CUDNN_TAR_FILE相对应
别的版本可以仿照一下格式,特别需要注意的是v8.0.4.30这里,这里需要把30去掉,要不然会报错。
解压
tar -xvf cudnn-10.2-linux-x64-v8.0.4.30.tgz/tar -zxvf cudnn-10.2-linux-x64-v8.0.4.30.tgz
通过指令将下列文件复制到 CUDA Toolkit目录,并修改权限
sudo cp /home/ubuntu16.04/Downloads/cuda/include/cudnn.h /usr/local/cuda-10.2/include
sudo cp /home/ubuntu16.04/Downloads/cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64
sudo chmod a+r /usr/local/cuda-10.2/include/cudnn.h
sudo chmod a+r /usr/local/cuda-10.2/lib64/libcudnn*
因为网上一些指令经常报错,我这是把整个文件夹复制过去了,其中Downloads是我cudnn下载的地址,大家自己下载的位置可能不一样需要自己微调。
检验安装
cat /usr/local/cuda-10.2/include/cudnn.h | grep CUDNN_MAJOR -A 2
cat /home/ubuntu16.04/Downloads/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
创建虚拟环境
conda create -n deformable_detr(虚拟环境名称,可任意) python=3.7 pip #创建虚拟环境
conda activate deformable_detr #激活虚拟环境
conda deactivate #关闭虚拟环境
这个可以进入pytorch官网看到Previous PyTorch Versions | PyTorch
下面是一些常用指令:
更新pip
conda update conda pip
pip换源加速下载
-i http://pypi.douban.com/simple/
配置环境
sudo gedit ~/.bashrc
加入对于语句:
alias python='/home/ubuntu16.04/anaconda3/envs/deformable_detr(虚拟环境名字)/bin/python3.7'
然后source ~/.bashrc
查看都有什么虚拟环境
/home/ubuntu16.04/anaconda3/envs
其他的一些内容
conda换源(加快conda install下载速度)个人感觉也没什么作用,记录一下,如果发现更好的会更新!没发现好的加快conda下载的方法。
# 1.备份原来的源
sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
# 2.更换源
sudo vim /etc/apt/sources.list
#3. 将阿里源放进去,并保存,推荐清华源
#4.将原来的内容全部删除
#5.将源地址加入进去:
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
pip换源(加快pip install下载)
阿里源:https://mirrors.aliyun.com/pypi/simple/
清华源:https://pypi.tuna.tsinghua.edu.cn/simple/
豆瓣:http://pypi.douban.com/simple/
中科大: https://pypi.mirrors.ustc.edu.cn/simple/
使用-i参数指定pip命令安装时的源:
pip install XXXX -i https://mirrors.aliyun.com/pypi/simple/
更新pip版本:
pip install --upgrade pip
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。