【无标题】

一 cuda安装

cuda官网:https://developer.nvidia.cn/cuda-toolkit-archive

参考博客:https://blog.csdn.net/qq_33548747/article/details/116700296
https://www.freesion.com/article/6074251962/
https://blog.csdn.net/weixin_39833429/article/details/111115605

1.验证自己的电脑是否有一个可以支持CUDA的GPU

lspci | grep -i nvidia

2.验证自己的Linux版本是否支持 CUDA(Ubuntu 16.04没问题)

uname -m && cat /etc/*release

3.安装gcc版本需要对应版本

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
查看gcc版本

gcc -v

4.CUDA安装

cuda9.2
https://developer.nvidia.com/cuda-92-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal页面下载
或者对应指令

wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run

指令:
cuda_9.2.148_396.37_linux.run
注意:等到more出来要一直按enter,后面打accept,后面按提示。

其他版本
https://developer.nvidia.com/cuda-toolkit-archive

5.设置环境变量

终端打开文件:

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}}

重启电脑,检查环境变量是否配置成功。

cat /proc/driver/nvidia/version
nvcc -V

显示出版本信息即安装成功了
还可以使用cat /usr/local/cuda/version.txt查看
注意:如果显示没有nvcc指令那有两种情况,一种是需要下载指令用sudo apt install nvidia-cuda-toolkit;另一种则是cuda没装好。根据提示在terminal中输入sudo apt-get install nvidia-cuda-toolkit安装,执行命令后,nvcc命令可以正常执行,但是运行nvcc –version发现版本为7.5,与CUDA 9.2不匹配

首先卸载nvidia-cuda-toolkit

sudo apt-get autoremove nvidia-cuda-toolkit
nvcc -V

查看/usr/local/cuda/bin下是否有nvcc可程行程序如果没有说明cuda没有正常安装,需要重新安装,如果有,进入下一步添加环境变量,打开~/.bashrc ,sudo gedit ~/.bashrc
添加

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.2/lib64
export PATH=$PATH:/usr/local/cuda-9.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.2

保存,再终端运行:

source ~/.bashrc 

使之生效

再次输入nvcc --version。看到以下提示:
bash:/usr/bin/nvcc: No such file or directory
则将/usr/local/cuda/bin下的nvcc复制到这个目录下

wget下载cudnn报错显示403.
这是因为:Nvidia要求下载时进行验证(事实上,在我们从浏览器端下载cuDNN时,会被要求登录),而我们直接使用wget跳过了验证,所以被Forbidden了

1.https://developer.nvidia.com/compute/machine-learning/cudnn/secure/7.6.5.32/ Production/10.1_20191031/cudnn-9.2-linux-x64-v7.6.5.32.tgz

2.CUDNN_TAR_FILE=“cudnn-9.2-linux-x64-v7.6.5.32.tgz” #与上面链接中的相对应

3.wget http://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/${CUDNN_TAR_FILE} #v7.6.5与CUDNN_TAR_FILE相对应

参考博客:
https://blog.csdn.net/WUDIxi/article/details/119481743?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%80%8E%E4%B9%88%E4%B8%8B%E8%BD%BDcudnn-9.2-linux-x64-v7.6.5&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-119481743.142v35experiment_2_v1,185v2control&spm=1018.2226.3001.4187

解压:

tar -xzvf cudnn-9.2-linux-x64-v7.6.5.32.tgz

将下列文件复制到 CUDA Toolkit 目录,并修改权限:

sudo cp cuda/include/cudnn.h /usr/local/cuda-9.2/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.2/lib64
sudo chmod a+r /usr/local/cuda-9.2/include/cudnn.h /usr/local/cuda-9.2/lib64/libcudnn*

参考博客:
https://blog.csdn.net/RadiantJeral/article/details/120091319?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165897414116782248586975%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165897414116782248586975&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-2-120091319-null-null.142v35experiment_2_v1,185v2control&utm_term=%E6%80%8E%E4%B9%88%E4%B8%8B%E8%BD%BDcudnn-9.2-linux-x64-v7.6.5.32.tgz&spm=1018.2226.3001.4187

如果是同样的cuda和cudnn那么最好的方法还是直接指定路径这样避免重装。

新建一个虚拟环境然后下载cuda11.0.3版本,参考博客:
https://blog.csdn.net/weixin_43678195/article/details/119960152?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165899278816781432973404%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165899278816781432973404&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-119960152-null-null.142v35experiment_2_v1&utm_term=ubuntu16.04%E4%B8%8Bcuda11.0&spm=1018.2226.3001.4187
网站:https://developer.nvidia.com/cuda-toolkit-archive
安装cuda后使用指令nvcc -V查询显示是9.2,说明cuda似乎是可以虚拟环境共用的。
nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2018 NVIDIA Corporation
Built on Tue_Jun_12_23:07:04_CDT_2018
Cuda compilation tools, release 9.2, V9.2.148
原因是之间添加了路径但没有source一下,使其生效。
接下来是安装cudnn
cudnn官方安装包链接(包含所有版本):
https://developer.nvidia.com/rdp/cudnn-archive
找到对应cuda版本的cudnn然后选择cudnn library for linux右击复制网址。
1.https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.4/11.0_20200923/cudnn-11.0-linux-x64-v8.0.4.30.tgz

2.CUDNN_TAR_FILE=“cudnn-11.0-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相对应
解压

tar -xvf cudnn-11.0-linux-x64-v8.0.4.30.tgz

将下列文件复制到 CUDA Toolkit 目录,并修改权限:

sudo cp cuda/include/cudnn.h /usr/local/cuda-11.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.0/lib64
sudo chmod a+r /usr/local/cuda-11.0/include/cudnn.h /usr/local/cuda-11.0/lib64/libcudnn*

新建一个虚拟环境然后下载cuda10.0版本
参考博客:
https://blog.csdn.net/zbr794866300/article/details/106574704?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165907016916781790762276%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165907016916781790762276&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-2-106574704-null-null.142v35experiment_2_v1&utm_term=ubuntu16.04%E4%B8%8B%E8%A3%85cuda10.0&spm=1018.2226.3001.4187
网站:
https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal

安装指令:

sudo sh cuda_10.0.130_410.48_linux.run

输入内容为:accept -> n ->y -> y ->y(没有选项就按回车)

sudo gedit ~/.bashrc

加入

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

最后source ~/.bashrc

加入

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

二 cudnn安装

1.下载cudnn

1.https://developer.nvidia.com/compute/machine-learning/cudnn/secure/7.6.5.32/Production/10.0_20191031/cudnn-10.0-linux-x64-v7.6.5.32.tgz
2.CUDNN_TAR_FILE=“cudnn-10.0-linux-x64-v7.6.5.32.tgz” #与上面链接中的相对应
3.wget http://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/${CUDNN_TAR_FILE} #v7.6.5与CUDNN_TAR_FILE相对应

之后解压

sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64/

如果没有找到可能是打开终端位置不对,可能需要在download下执行
查看cudnn版本,指令为

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

2.查看torch版本

python
import torch
print(torch.version)
退出则是exit()或者quit()

cuda与torch版本匹配去官网查一下即可
查看pytorch官网 https://pytorch.org/get-started/previous-versions/

查看库版本pip list

3. cuda10.2安装

4.通过指令下载

wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run

然后指令:

sudo gedit ~/.bashrc

环境中加入:

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

5.cudnn下载文件

https://developer.nvidia.com/rdp/cudnn-archive
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
cudnn官方安装包链接(包含所有版本):
https://developer.nvidia.com/rdp/cudnn-archive
找到对应cuda版本的cudnn然后选择cudnn library for linux右击复制网址。

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相对应

解压

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 cuda/include/cudnn.h /usr/local/cuda-10.2/include
sudo cp 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*

检验安装

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

在当前文件夹下打开终端 然后

sudo cp ./* /usr/local/cuda-10.2/include
sudo cp ./* /usr/local/cuda-10.2/lib64

正常指令:

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*
 sudo rm -rf /usr/local/cuda #删除之前创建的软链接
 sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda #创建新 cuda 的软链接

cuda一般安装在 /usr/local/cuda/ 路径下,该路径下有一个version.txt文档,里面记录了cuda的版本信息:

cat  /usr/local/cuda/version.txt

cudnn的信息:

cat /usr/local/cuda-10.2/include/cudnn.h | grep CUDNN_MAJOR -A 2

或者

cat /usr/local/cuda-10.2/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

cudnn10.1版本
https://developer.nvidia.com/compute/machine-learning/cudnn/secure/7.6.5.32/Production/10.1_20191031/cudnn-10.1-linux-x64-v7.6.5.32.tgz

1.https://developer.nvidia.com/compute/machine-learning/cudnn/secure/7.6.5.32/Production/10.1_20191031/cudnn-10.1-linux-x64-v7.6.5.32.tgz

2.CUDNN_TAR_FILE=“cudnn-10.1-linux-x64-v7.6.5.32.tgz” #与上面链接中的相对应

3.wget http://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/${CUDNN_TAR_FILE} #v7.6.5与CUDNN_TAR_FILE相对应,注意这里不能写7.6.5.32

tar -zxvf  cudnn-10.1-linux-x64-v7.6.5.32.tgz
sudo cp /home/ubuntu16.04/Downloads/cuda/include/cudnn.h /usr/local/cuda-10.1/include
sudo cp /home/ubuntu16.04/Downloads/cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64
sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h 
sudo chmod a+r /usr/local/cuda-10.1/lib64/libcudnn*

cudnn的信息:

cat /usr/local/cuda-10.2/include/cudnn.h | grep CUDNN_MAJOR -A 2

虚拟环境中的cuda和系统安装的cuda是互不影响的,所以在虚拟环境中放心安装你需要的cuda版本。安装之后为了验证时候安装成功,在终端运行了nvcc -V(V大写),很奇怪的发现和系统安装的cuda是一个版本,然后自己傻傻以为没有安装成功,一直在找解决办法。其实这个命令执行之后就是获得系统安装的版本,如果想要看虚拟环境中安装的版本应该运行,conda list | grep cuda,然后就会获得虚拟环境下安装的版本。
是否安装成功:

python
import torch
print(torch.__version__)
print(torch.cuda.is_available())出现true

当然安装了pytorch,肯定还需要安装torchvision,那安装什么版本才是对应的呢?一个简单的方法:

conda install torchvision -c pytorch

anaconda会自动根据pytorch的版本帮你选择对应的torchvision

更多机器人精彩内容,请关注公众号:木鱼机器人
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子智~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值