Ubuntu18.04安装cuda10.1+cudnn8.0.5+pytorch1.8.1【亲测~】

2023-11-20

目录

第一步 :Cuda10.1的安装

1)输入命令,确保自己没装Cuda:

cat /usr/local/cuda/version.txt

在命令nvidia-smi得到的CUDA Version:11.5等版本

这里的意思是你的显卡驱动支持的最大CUDA版本,并不是真正安装的CUDA版本(所以麻烦不要误人子弟)

在这里插入图片描述
具体来说:

CUDA Driver = CUDART,
CUDA Driver Version = 11.5,
CUDA Runtime Version= 10.1

CUDA驱动版本和CUDA运行版本,这两者是不一样的东西

2)进入Cuda官网,当然你也可以直接百度cuda10.1,选择CUDA Toolkit 10.1 update1 Archive | NVIDIA Developer

在这里插入图片描述
这里有很多不同的安装类型(Installer Type),建议选用第一个.run安装包,不要问为什么,因为干净简洁~
下载后得到:

在这里插入图片描述
如右下角所示:2.4G,然后执行:

sudo sh cuda_10.1.168_418.67_linux.run

敲击accept,下一步:
这里如果直接选择Install的话,报错:

Installation failed. See log at /var/log/cuda-installer.log for details

因为你已经有了CUDA驱动,所以选择第一行按回车,回车键作用是将 [X] 就会变成[ ],[X]代表有,[ ]代表无

在这里插入图片描述
PS:图我没保存,就借用了别人的,不要计较版本不对应,我还是Cuda10.1~
最后选择yes,直到结束。

在这里插入图片描述
3)确认cuda是否安装成功

cd /usr/local/cuda/samples/1_Utilities/deviceQuery

再执行:

sudo make

在这里插入图片描述
最后执行:

./deviceQuery

在这里插入图片描述
看见Result = PASS意味着成功~
4)添加环境变量

sudo gedit ~/.bashrc

打开该文件,然后再最后输入:

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

注意:当中的cuda版本要对应你下载的版本

在这里插入图片描述
最后,使之生效:

source ~/.bashrc

补充一下:
Cuda12.2左右版本的安装:
是不需要进入deviceQuery文件夹进行sudo make的,直接设置环境变量:

sudo gedit ~/.bashrc
export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

再运行:

source ~/.bashrc

最后检测检查是否安装成功:nvcc -V
在这里插入图片描述

第二步 :Cudnn8.05的安装

1.进入官网:https://developer.nvidia.com/rdp/cudnn-archive下载

或者你也可以直接百度cudnn进入
然后,需要登录,选择Sign in(如已有帐号自动忽略)
注册后,打开页面:

在这里插入图片描述
选择ubuntu中的三个文件,都需要下载:

在这里插入图片描述
完成后,cd到下载的文件夹,执行:

sudo dpkg -i libcudnn8_8.0.5.39-1+cuda10.1_amd64.deb                                                                                              
sudo dpkg -i libcudnn8-dev_8.0.5.39-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.5.39-1+cuda10.1_amd64.deb

在这里插入图片描述

2.确认cudnn安装成功

通过上步骤的安装,得到了cudnn的安装路径:/usr/include/
因此,执行:

sudo cp /usr/include/cudnn.h /usr/local/cuda/include
sudo chmod a+x /usr/local/cuda/include/cudnn.h

复制cudnn的头文件到cuda文件夹中,然后确认cudnn安装是否成功:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make

在这里插入图片描述

./mnistCUDNN

在这里插入图片描述
输出Test passed,表示成功~

补充:此教程不适用于11.x的cudnn版本:
ubuntu22.04的11.x的cudnn版本需要下载 Local Installer for Linux x86_64 (Tar)压缩文件,然后按照官方文档指示:
在这里插入图片描述

Unzip the cuDNN package. $ tar -xvf
cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz Copy the following
files into the CUDA toolkit directory. $ sudo cp
cudnn--archive/include/cudnn.h /usr/local/cuda/include $ sudo cp -P
cudnn--archive/lib/libcudnn /usr/local/cuda/lib64 $ sudo chmod a+r
/usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

最后测试:

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

附一张成功的照片:
请添加图片描述
另外:更换cuDNN版本

删除已安装的cuDNN文件:

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*

解压准备更换的安装包,并将相关文件复制到cuda目录下对应的文件夹:

tar -xvf cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz
sudo cp include/cudnn*.h /usr/local/cuda/include
sudo cp lib64/lib* /usr/local/cuda/lib64/

更新软链接:

cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.8.4.1
sudo ln -sf libcudnn.so.8.4.1 libcudnn.so.8
sudo ln -sf libcudnn.so.8 libcudnn.so
sudo ln -sf libcudnn_adv_train.so.8.4.1 libcudnn_adv_train.so.8
sudo ln -sf libcudnn_adv_infer.so.8.4.1 libcudnn_adv_infer.so.8
sudo ln -sf libcudnn_ops_train.so.8.4.1 libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_infer.so.8.4.1 libcudnn_ops_infer.so.8
sudo ln -sf libcudnn_cnn_infer.so.8.4.1 libcudnn_cnn_infer.so.8
sudo ln -sf libcudnn_cnn_train.so.8.4.1 libcudnn_cnn_train.so.8
sudo ldconfig  # 检查是否存在可共享的动态链接库

检查版本:

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

第三步 :pytorch的安装

1)推荐使用pip3安装,没有pip3的执行:

sudo apt install python3-pip

2)进入pytorch官网
找到cuda 10.1

在这里插入图片描述
执行:

pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

在这里插入图片描述
安装完成~
测试:

python
import torch
torch._version__

在这里插入图片描述

3)一般的,Ubuntu会自带两种python,默认的是python2.7
输入python确认:

在这里插入图片描述
输入python -v和python3 -v显示软连接:

在这里插入图片描述
看到有python 3.6,然后也可以cd /usr/bin/利用ls命令查看python的版本,并删除python文件夹建立新的软连接,我不敢~

在这里插入图片描述
于是可以:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
sudo update-alternatives --config python

在这里插入图片描述
转换一下即可,再输入python显示:Python 3.6.9 (default, Mar 15 2022, 13:55:28)

在这里插入图片描述
PS:修改ubuntu光标的粗细,因为我的光标总是莫名其妙的消失,所以我想换一下:
右键选择:preferences(配置)

在这里插入图片描述
选择cursor shape光标形状:

在这里插入图片描述
在这里插入图片描述

结论:写作不易,该赞赞丫~

加更:补充最新Download cuDNN v8.7.0 (November 28th, 2022), for CUDA 11.x下载:

https://developer.nvidia.com/rdp/cudnn-archive(需要账号注册登陆,下载),这里有一个安装包:
在这里插入图片描述
选择这个集成好的deb文件,下载后,

1.直接运行:

sudo chmod 777 cudnn-local-repo-ubuntu2204-8.7.0.84_1.0-1_amd64.deb
sudo sh cudnn-local-repo-ubuntu2204-8.7.0.84_1.0-1_amd64.deb

或者

sudo  ./cudnn-local-repo-ubuntu2204-8.7.0.84_1.0-1_amd64.deb

2.导入GPG密匙:

sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.0.131/cudnn-local-2063C34E-keyring.gpg /usr/share/keyrings/

3.使用:apt-cache policy libcudnn8命令查看指定的libcudnn8和cuda版本,
在这里插入图片描述
4.安装:

sudo apt-get install libcudnn8=8.7.0.84-1+cuda11.8
sudo apt-get install libcudnn8-dev=8.7.0.84-1+cuda11.8
sudo apt-get install libcudnn8-samples=8.7.0.84-1+cuda11.8

在这里插入图片描述

5.验证是否安装成功:
在这里插入图片描述

cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN

在这里插入图片描述

注:如果上面的make命令提示缺少FreeImage.h,运行:sudo apt-get install libfreeimage3 libfreeimage-dev
结束:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu18.04安装cuda10.1+cudnn8.0.5+pytorch1.8.1【亲测~】 的相关文章

随机推荐

  • 面向对象的单片机编程

    1 在看别人单片机程序时 你也许是奔溃的 因为全局变量满天飞 不知道哪个在哪用了 哪个表示什么 而且编写极其不规范 2 在自己写单片机程序时 也许你也是奔溃的 总感觉重新开启一个项目 之前的写过相似的代码也无法使用 得重新敲 代码重用度不高
  • 关系数据库(数据库原理)

    目录 一 关系数据结构 二 关系的完整性 三 关系运算 四 关系的规范化 一 关系数据结构 1 关系的定义和性质 1 关系的数学定义 域 一组有相同数据类型的值得集合 笛卡尔积 设任意的N个域D1 D2 Dn 定义D1 D2 Dn的笛卡尔积
  • Android热更新之AndFix就是个大坑

    最近一两年Android插件化热更新此起彼伏 也许Android的开发者也希望有朝一日 来颠覆频繁的去更新版本 而像web前端一样 更改了代码立马生效的效果 确实 如果已经上线的版本 突然有了bug 按照现有模式 开发者不得不去解决bug
  • 类中的getInstance()方法的用法和作用

    class rmt dbutil public public static rmt dbutil getInstance if instance NULL instance new rmt dbutil return instance bo
  • quill编辑器使用

    官方git https github com quilljs quill 官方文档 https quilljs com 中文文档 https kang bing kui gitbook io quill 编辑器是个正经编辑器 就是文档太不正
  • android studio更新到3.6以上后布局文件不能切换到xml编辑器?那就点进来吧

    android studio更新到3 6以上后布局文件不能切换到xml编辑器 只能拖拽写UI了 怎么可能 看下面截图 打开布局文件后 默认是到预览界面的 右上角的三个按钮就是用来切换视图的 自己点击试试就知道啦
  • 正则校验手机号

    正则表达式可以用来校验手机号码的合法性 如果你想使用正则表达式来校验中国大陆的手机号码 可以使用如下的正则表达式 1 3 9 d 9 这个正则表达式可以匹配所有 13 到 19 开头的 11 位数字 即所有中国大陆的手机号码 例如 如果你想
  • 全网最全的人类图解析(上)——九大能量中心与64道闸门

    以下内容来源皆来自 亚洲人类图学院 获得自己的人类图 传送门 文章目录 简介 一 九大能量中心简介 1 头脑中心 Head Center 头脑中心的主题 灵感 2 逻辑中心 Ajna Center 逻辑中心的主题 概念化 3 喉咙中心 Th
  • CSDN平台上怎么样才能赚钱?

    CSDN平台上有多种方式可以赚钱 以下是其中几种常见的 1 写作赚钱 CSDN平台鼓励用户积极创作原创技术博客 通过博客的阅读量和转发量来获取广告收益 用户还可以发表付费文章或参与付费专栏 在文章的阅读量和付费订阅量上获得收入 2 交流赚钱
  • java使用visio画类图,【什么是类图使用类图的方法】使用visio画类图

    类图是显示了模型的静态结构 特别是模型中存在的类 类的内部结构以及它们与其他类的关系等 那么你对类图了解多少呢 以下是由小编整理关于什么是类图的内容 希望大家喜欢 类图的概述 类图 Class diagram 由许多 静态 说明性的模型元素
  • 【数据结构--二叉树】平衡二叉树

    题目描述 代码实现 Definition for a binary tree node struct TreeNode int val struct TreeNode left struct TreeNode right int TreeH
  • Could not proxy request /captchaImage from localhost to http://localhost:8080/.

    项目场景 项目场景 配置若依环境前端通过 run npm dev 启动报500 问题描述 根据报错分析 无法将请求 路径 从本地主机代理到http 本地主机 8080 原因分析 我们可以看到前端配置的端口号80 地址就是本机没有问题 排除前
  • 变分模态分解(VMD)运算步骤及源码解读

    1 简述 VMD的目标是将实值输入信号 f f f分解为离散数量的子信号 模态 u k u k uk 我们先假设每个模态在一个中心频率
  • Axure谷歌Chrome浏览器插件安装教程

    1 引言 经常看到这样的问题 1 我用Axure做的原型怎么不能用谷歌浏览器查看 2 到哪里下载Axure谷歌浏览器插件 3 Axure谷歌浏览器插件下载下来怎么安装 其实这些问题百度一下都能找到答案 不过有些答案对于新手来说比较麻烦 就拿
  • c语言函数中调用的参数太多

    c语言函数中调用的参数太多问题 问题展示 问题分析 解决方法 问题展示 图中是我遇到的情况 问题分析 大家可以看到 在函数中 指针变量和后面的整数变量都成了灰色 解决方法 图中问题只需将中文逗号 改为英文逗号即可 一定要检查双引号或者逗号是
  • QT中使用Sqlite

    QT中使用Sqlite 首先要在 pro中引用sql 引用方法 新添加语句 QT sql 在原来的基础上追加 QT core gui sql 然后再widget h中添加对sql头文件的引用 include
  • idea connect timed out 解决方法

    使用IntelliJ IDEA 创建Spring Boot项目时 显示 connect timed out 解决方法 1 很多博客说将 https start spring io 改为 http start spring io 但是我这里不
  • 手动切换 Kinect 的驱动程序(for OpenNI 1.* & Microsoft Kinect SDK 1.7)

    微软最近推出了最新版的 Kinect SDK 能够实现实时的 Kinect Fusion 并提供了丰富的手势交互功能 对体感交互开发人员的吸引力越来越大 而 OpenNI 2 0 以上的版本也转为使用微软官方的 Kinect 驱动 也显示了
  • 移动端适配-01-百分比宽度

    1 图片可以在parent中使用 1 line heigh和text align使水平和竖直居中 2 在img标签中加vertical align middle 2 3 background size 1 两个参数 background s
  • Ubuntu18.04安装cuda10.1+cudnn8.0.5+pytorch1.8.1【亲测~】

    Ubuntu18 04安装cuda10 1 cudnn8 0 5 pytorch1 8 1 亲测 目录 第一步 Cuda10 1的安装 第二步 Cudnn8 05的安装 1 进入官网 https developer nvidia com r