Ubuntu18中NVIDIA,cuda,cudnn,pytorch安装

2023-11-18

注意:nvidia驱动和cuda,cudnn,pytroch,python的对应关系

linux安装pytorch(包括cuda与cudnn)_linux清华园按照pytorch1.12_BryceRui的博客-CSDN博客

安装流程:安装cuda(包括nvidia驱动)+ cudnn + python安装

注意:nvidia驱动可以在安装cuda时一起安装

1、安装NVIDIA驱动(该驱动也可以在cuda安装时一起安装)

Ubuntu 18.04 NVIDIA驱动安装总结_ObsessionLife的博客-CSDN博客

最近遇到了在Ubuntu 18.04上安装NVIDIA的情况,看到一篇英文教程讲解的很好,简单翻译一下拿来收藏。

在Ubuntu 18.04上安装NVIDIA有三种方法:

使用标准Ubuntu仓库进行自动化安装

使用PPA仓库进行自动化安装

使用官方的NVIDIA驱动进行手动安装

上述三种方法均可用,我个人更习惯于使用手动安装。

注意:

在安装之前首先就是要禁用Nouveau的驱动,禁用该驱动的方法参照这篇博客。

https://www.cnblogs.com/smartcoding/p/15353414.html

ubuntu禁止自动更新内核_ubuntu取消内核自动更新_maohule的博客-CSDN博客

1.查看系统安装的内核有哪些

  dpkg --get-selections | grep linux-image

2.查看系统正在使用的内核

  uname -a

禁止更新内核:

sudo apt-mark hold linux-image-4.13.0-36-generic
sudo apt-mark hold linux-image-extra-4.13.0-36-generic
sudo apt-mark hold linux-headers-4.13.0-36-generic

如果需要恢复原来的设定的话即允许更新内核,执行如下命令即可:

sudo apt-mark unhold linux-image-4.13.0-36-generic
sudo apt-mark unhold linux-image-extra-4.13.0-36-generic

————————————————

上一步的改动只是在安装的时候临时禁用。如果没有永久禁用该驱动,可能会出现安装完毕NIVIDA显卡后无法进入Ubuntu的情况(在登录界面,输入密码也无法登录)。

所以,在安装后Ubuntu成功后需要在grub的配置文件里面更改:

在文本中搜索quiet splash 然后添加acpi_osi=linux nomodeset,保存文本即可。

1. 使用标准Ubuntu 仓库进行自动化安装

这种方法几乎是所有的示例中最简单的方法,也是该教程最为推荐的方法。首先,检测你的NVIDIA显卡型号和推荐的驱动程序的模型。在命令行中输入如下命令:

== cpu-microcode.py ==

1. 使用标准Ubuntu 仓库进行自动化安装

这种方法几乎是所有的示例中最简单的方法,也是该教程最为推荐的方法。首先,检测你的NVIDIA显卡型号和推荐的驱动程序的模型。在命令行中输入如下命令:

$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001180sv00001458sd0000353Cbc03sc00i00
vendor   : NVIDIA Corporation
model    : GK104 [GeForce GTX 680]
driver   : nvidia-304 - distro non-free
driver   : nvidia-340 - distro non-free
driver   : nvidia-384 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin
 
== cpu-microcode.py ==
driver   : intel-microcode - distro free

从输出结果可以看到,目前系统已连接Nvidia GeFrand GTX 680显卡,建议安装驱动程序是 nvidia-384版本的驱动。如果您同意该建议,请再次使用Ubuntu驱动程序命令来安装所有推荐的驱动程序。

输入以下命令:

sudo ubuntu-drivers autoinstall

一旦安装结束,重新启动系统(不重启可能会出现nvidia不匹配等错误),

$ sudo reboot

你就完成了。

输入

nvidia-smi

出现一些现实,说明驱动安装正确

sudo apt

install nvidia-driver-418

#去除之前的nvidia显卡驱动

sudo apt-get autoremove --purge nvidia-*

sudo apt-get remove --purge 'nvidia\.*'

sudo apt autoremove

一旦安装结束,重新启动系统(不重启可能会出现nvidia不匹配等错误),

你就完成了。

输入

出现一些现实,说明驱动安装正确

CUDA Toolkit and Minimum Compatible Driver Versions

CUDA Toolkit

Linux x86_64 Driver Version

Windows x86_64 Driver Version

CUDA 11.2.2 Update 2

>=460.32.03

>=461.33

CUDA 11.2.1 Update 1

>=460.32.03

>=461.09

CUDA 11.2.0 GA

>=460.27.03

>=460.82

CUDA 11.1.1 Update 1

>=455.32

>=456.81

CUDA 11.1 GA

>=455.23

>=456.38

CUDA 11.0.3 Update 1

>= 450.51.06

>= 451.82

CUDA 11.0.2 GA

>= 450.51.05

>= 451.48

CUDA 11.0.1 RC

>= 450.36.06

>= 451.22

CUDA 10.2.89

>= 440.33

>= 441.22

CUDA 10.1 (10.1.105 general release, and updates)

>= 418.39

>= 418.96

CUDA 10.0.130

>= 410.48

>= 411.31

CUDA 9.2 (9.2.148 Update 1)

>= 396.37

>= 398.26

CUDA 9.2 (9.2.88)

>= 396.26

>= 397.44

CUDA 9.1 (9.1.85)

>= 390.46

>= 391.29

CUDA 9.0 (9.0.76)

>= 384.81

>= 385.54

CUDA 8.0 (8.0.61 GA2)

>= 375.26

>= 376.51

CUDA 8.0 (8.0.44)

>= 367.48

>= 369.30

CUDA 7.5 (7.5.16)

>= 352.31

>= 353.66

CUDA 7.0 (7.0.28)

>= 346.46

>= 347.62

2、安装CUDA11.1

ubuntu安装cuda11.2_AI界扛把子的博客-CSDN博客

linux安装pytorch(包括cuda与cudnn)_linux清华园按照pytorch1.12_BryceRui的博客-CSDN博客

CUDA Toolkit 12.2 Update 2 Downloads | NVIDIA Developer

  1. 官网地址

官网下载cuda,特别注意:要选择run,不要选择deb。

wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run

chmod +x cuda_10.1.105_418.39_linux.run sudo ./cuda_10.1.105_418.39_linux.run

这里是下载的cuda 11.1版本

  1. 禁用X服务(黑屏)

  1. 给文件赋执行权限并安装

后续选择accepted,

除了驱动不选择(因为第一步已经安装了nvidia驱动了,如果前面没有安装nvidia,则该选项也需要),其他都选,具体界面如下

  1. 打开配置文件

在末尾添加写入(这个相当于选择cuda-11.1版本)

更新一下

输入nvcc -V,显示cuda版本,检测是否成功

查看版本信息

  1. whereis cuda
  2. whereis cudnn

cuda11.1及以下的卸载:

cuda10.0及以下的卸载:

cd /usr/local/cuda-xx.x/bin/ sudo ./uninstall_cuda_xx.x.pl sudo rm -rf /usr/local/cuda-xx.x

sudo apt-get --purge remove "*cublas*" "cuda*"

3、安装cudnn

  • 下载对应cuda 11.1 的cudnn版本

官网下载,找到与cuda版本配对的cudnn,查看官网配对,以及更全的版本配对,我的cuda为11.1,选择对应的cudnn版本

cuDNN Archive | NVIDIA Developer

https://www.ngui.cc/el/3857815.html?action=onClick

进入到cudnn下载的安装路径下,命令行输入以下命令进行解压操作:

  • 将下载的添加为压缩包并解压 (不同版本,则将cunn-11.1中11.1修改其他版本的数字即可)
tar -xzvf cudnn-10.1-linux-x64-v8.0.5.39.tgz //这里cudnn-10.1-linux-x64-v8.0.5.39.tgz是我们下载的cudnn的压缩包
  • 随后在当前路径的命令行终端输入以下三条命令进行cudnn的安装:
sudo cp cuda/include/cudnn.h    /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn*    /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h   /usr/local/cuda/lib64/libcudnn*
至此cuda与cudnn全部安装成功。

会出现如下报错: cat: /usr/local/cuda-11.4/include/cudnn_version.h: 没有那个文件或目录 
错误原因为:在执行 

sudo cp cuda/include/cudnn.h /usr/local/cuda-11.4/include



未把cudnn_version.h文件复制过去。我给的解决方案是执行下面代码:

sudo cp cuda/include/* /usr/local/cuda-11.4/include
sudo cp include/* /usr/local/cuda-11.5/include/
sudo chmod a+r /usr/local/cuda-11.5/lib64/*
sudo chmod a+r /usr/local/cuda-11.5/include/*



 

  • cudnn的卸载

如果有之前的残留版本最好卸载干净,同时路径中的cuda字样,要根据现实来定,cuda有可能需要替换为cuda-9.0或者其他

sudo rm -rf /usr/local/cuda-11.1/include/cudnn.h

sudo rm -rf /usr/local/cuda-11.1/lib64/libcudnn*

四、安装pytroch

根据网址Start Locally | PyTorch选择配置

五、验证

以上安装完成后,打开python,执行以下脚本。

若输出true,则表示cuda可以使用了。然后开始愉快的torch之旅吧。

方法1:查看所有python的路径,不止一个

方法2:查看当前使用的python路径

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

Ubuntu18中NVIDIA,cuda,cudnn,pytorch安装 的相关文章

随机推荐

  • kubeasz 二进制安装k8s高可用集群

    一 kubeasz介绍 项目致力于提供快速部署高可用k8s集群的工具 同时也努力成为k8s实践 使用的参考书 基于二进制方式部署和利用ansible playbook实现自动化 既提供一键安装脚本 也可以根据安装指南分步执行安装各个组件 二
  • Maven2部署构件到Nexus时出现的Failed to transfer file错误

    原文出处 http www javatang com archives 2010 01 23 4518375 html 作者 Jet Mah from Java堂 声明 可以非商业性任意转载 转载时请务必以超链接形式标明文章原始出处 作者信
  • jni基础

    JNI相关 静态注册 java代码需要和C 代码相符通讯就需要通过JNI来进行注册 java public native String stringFromJNI 代表该函数的实现在so so Java com first firstndk
  • 内存管理方案

    内存管理方案 Memory Management System Author Owen 目 录 内存管理方案 1 目 录 1 1 概述 2 2 理论依据 2 2 1 不对内存进行管理 2 2 2 对内存进行内部管理 2 3 实现方案 2 3
  • RMI-Remote Method Invocation远程方法调用的使用

    手动启动服务方式 参考自 https www cnblogs com fanghao p 8918953 html 接口 import java rmi Remote import java rmi RemoteException publ
  • selenium二次封装

    使用到相关技术 selenium testng log4j maven selenium主要生成driver 获取页面元素等 testng主要Run程序 生成测试报告 管理用例执行顺序 断言等 log4j主要用来打印log日志 maven主
  • RuntimeError: CUDA unknown error - this may be due to an incorrectly set up environment

    解决方案 输入指令sudo shutdown r now即可重新启动驱动 如果还是无法解决则需要重新安装驱动
  • 【系统】C/C++内存管理之内存分配

    文章目录 0 内存分配方式 从静态存储区域分配 在栈上创建 在堆上分配 程序内存空间 1 C语言内存分配方式 静态与动态内存分配区别 1 1 静态分配方式 1 2 动态分配方式 1 malloc函数 2 calloc 函数 3 reallo
  • java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'content' at row 1

    使用Mysql服务器的utf8字符编码 在存入移动端emoji表情时会报异常 Caused by java sql SQLException Incorrect string value xF0 x9F x98 x84 for column
  • 深度学习:实现mnist手写数字识别

    本文为 365天深度学习训练营 中的学习记录博客 原作者 K同学啊 接辅导 项目定制 我的环境 1 语言环境 Python 3 7 2 编译器 Pycharm 3 深度学习环境 TensorFlow2 5 一 前期工作 1 设置GPU 若使
  • Ubuntu20.04开机后,弹出检测到系统程序出现问题解决方法

    打开配置文件 sudo gedit etc default apport 然后 将其中的enable选项改成0 即可解决此问题
  • C++ *,&

    文章目录 语法 1 取地址运算符 2 间接寻址运算符 示例 1 可以累计使用间接寻址运算符来取消引用指向指针的指针 2 静态成员的地址 3 引用类型的地址 4 函数地址作为参数 4 示例 references 语法 1 取地址运算符 又称
  • c#量化交易_我用1天时间搭建自主量化交易(程序化交易)平台

    VirtualApi目前支持上海期货交易所的CTP回测 http www virtualapi cn 实盘期货 支持CTP http www kaihucn cn Simnow 上期CTP接口官方网站和模拟账户注册 http www sim
  • 【KITTI】KITTI数据集简介(一) — 激光雷达数据

    本文为博主原创文章 未经博主允许不得转载 本文为专栏 python三维点云从基础到深度学习 系列文章 地址为 https blog csdn net suiyingy article details 124017716 KITTI数据集的详
  • C++基础——new和delete动态开辟

    目录 前言 一 new关键字 格式2 动态开辟多个数据的堆区空间 数组 总结 二 自定义类型的开辟 1 区别 2 匹配错误讲解 错误示范例1 delete 的执行原理 错误示范2 三 malloc new失败的区别 1 malloc失败 2
  • 如何在WPS、MathType中输入傅立叶变换的符号

    这里写自定义目录标题 在MathType中 先输入大写F 选择上 然后在 mathtype 的 style Other 选择 Palace Script MT字体 如果没有该字体 选择Lucida Calligraphy字体 如果使用的是E
  • 设计模式-装饰模式

    装饰模式指的是在不必改变原类文件和使用继承的情况下 动态地扩展一个对象的功能 它是通过创建一个包装对象 也就是装饰来包裹真实的对象 在装饰模式中的各个角色有 抽象构件 Component 角色 给出一个抽象接口 以规范准备接收附加责任的对象
  • 启明智显分享

    据数据显示 全球新能源汽车销量正大幅度增长 全球汽车电动化渗透率也由0 8 增长到7 74 这不仅意味着汽车产业电动化浪潮的来临 也证实了我国新能源汽车行业正处于高速发展状态 随着电动汽车销售量与保有量的迅速增长 充电需求也持续攀升 在新基
  • php连接mysql代码

    php连接mysql的代码网上有很多 这里分享一个简单配置就能用的代码模板仅供参考
  • Ubuntu18中NVIDIA,cuda,cudnn,pytorch安装

    注意 nvidia驱动和cuda cudnn pytroch python的对应关系 linux安装pytorch 包括cuda与cudnn linux清华园按照pytorch1 12 BryceRui的博客 CSDN博客 安装流程 安装c