当前位置: 首页 > news >正文

Ubuntu18中NVIDIA,cuda,cudnn,pytorch安装

注意: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.runchmod +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全部安装成功。
  • 查看安装的cudnn版本 Ubuntu 18.04安装CUDA 11.4.0 cuDNN 8.2.2_cuda11.4下载_nwth的博客-CSDN博客

会出现如下报错: 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路径

相关文章:

Ubuntu18中NVIDIA,cuda,cudnn,pytorch安装

注意:nvidia驱动和cuda,cudnn,pytroch,python的对应关系 linux安装pytorch(包括cuda与cudnn)_linux清华园按照pytorch1.12_BryceRui的博客-CSDN博客 安装流程:安装cuda(包括nvidia驱动) cudnn python安装…...

MATLAB中M文件编写

简介 所谓M文件就是将处理问题的各种命令融合到一个文件中,该文件以.m为扩展名。然后,由MATLAB系统编译M文件,得出相应的运行结果。M文件具有相当大的可开发性和扩展性。M文件有脚本文件和函数文件两种。脚本文件不需要输入参数,…...

企业数字化神经网络

随着数字化时代的到来,数据已经成为企业战略性资源和重要的生产要素。企业数字化转型的核心是充分开发和利用数据资源,以数据为驱动,对业务流程进行重构与创新,从而提升企业的核心竞争力。业务系统是企业数据资源的源头&#xff0…...

C++this指针

本文旨在讲解C中this关键字,以及其相关作用! 定义 this 是 C 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。 this的介绍 下面来看一下关于this这个关键字的实例&#xff0…...

【初阶C语言】操作符1--对二进制的操作

前言:本节内容介绍的操作符,操作的对象是二进制位。所以前面先介绍整数的二进制位 一、二进制位介绍 1.二进制介绍 (1)整数的二进制表示形式有三种:原码、反码和补码。 (2)原码、反码和补码的…...

安装pyscipopt

安装pyscipopt Conda会自动安装SCIP,因此所有内容都可以通过单个命令安装: GitHub - scipopt/PySCIPOpt: Python interface for the SCIP Optimization Suite conda create --name myenv python3.8 # 创建新环境 conda activate myenv # 激活新环境 …...

原生js实现的轮盘抽奖案例

来到大学也是有二年了,吃饭最多的地方就是在食堂,经过这么久的时间,已经几乎是把每个窗口的菜都吃腻了,所以我打算做个轮盘抽奖的形式来决定我每天要吃些什么。 目录 实现效果图: 静态搭建 js代码 1.实现此功能的思路…...

最经典的解析LSA数据库(第六课)

初步认识OSPF的大致内容(第三课)_IHOPEDREAM的博客-CSDN博客 1 OSPF 工作过程 建立领居表 同步数据库 今天来 说一说数据库概念 计算路由表 2 什么是数据库? 数据库是一个组织化的数据集合,用于存储、管理和检索数据。它是一个可访问的集合&#x…...

C++基础入门

文章目录 前言一、C历史及发展1.C是什么2.C历史 二、开始C1.基础类型1.第一个简单的C程序2.命名空间1.命名空间的介绍2.命名空间的使用3.命名空间的using声明与using指示 3.初识输入输出操作4.引用1.引用概念2.引用的使用1.引用做参数2.引用做返回值 3.引用和指针的区别4.const…...

【每日随笔】驾驭人性 ② ( 员工立场问题 | 立场转变 | 吴越同舟 | 老板如何与员工结成利益共同体 )

文章目录 一、员工立场问题二、立场转变三、吴越同舟四、老板如何与员工结成利益共同体 一、员工立场问题 人的潜力是很大的 , 肩上抗 100 斤 水泥 和 肩上抗 100 斤黄金 , 能一样吗 , 扛着黄金绝对能扛回家 ; 员工 不愿意 与公司一条心是正常的 , 员工 拿的是 死工资 , 公司赚…...

C++(QT)画图行车

通过鼠标在窗口上点击形成多个点的连线,绘制一辆汽车沿着绘制的连线轨迹前进。要求连线点数大于20.可以通过清除按钮清除已经绘制的连线,并可以重新绘制一条轨迹连线。当车辆行驶到轨迹终点时,自动停止。(汽车实在可用方块代替&am…...

Unity中Shader抓取屏幕并实现扭曲效果(优化)

文章目录 前言一、在之前顶点着色器的输入中,放弃了使用结构体传入,而是直接从应用程序阶段传入参数,这样写的话,对于程序来说,不方便扩张,所以需要对其进行修改实现1、定义结构体用于传入顶点坐标系2、因为…...

肖sir__设计测试用例方法之_(白盒测试)

白盒测试技术 一、定义: 白盒测试也叫透明盒测试,检查程序内部结构及路径一是否符合规格说明,二是否符合其代码规范。 因此,也叫结构测试或者逻辑驱动测试。 二、白盒测试常见方法: a、语句覆盖; b、判断覆…...

GoT:用大语言模型解决复杂的问题

GoT:用大语言模型解决复杂的问题 摘要介绍背景和符号表示语言模型和上下文学习Input-Output(IO)Chain of thought(CoT)Multiple CoTTree of thoughts(ToT) GoT框架推理过程思维变换聚合变换&…...

nginx服务和uwsgi服务如何设置开机自启动

上次学到了在云服务器下如何部署Django项目,用到了nginx服务和uwsgi服务,需要手工启动这2个服务的命令。 现在考虑如何设置开机自启动,为什么要这样考虑?因为服务器万一出问题,意外重启了,那我们部署的Dja…...

算法-分治算法

文章来源: https://blog.csdn.net/weixin_45630258/article/details/126425400 欢迎各位大佬指点、三连 一、分治 1、定义:分治,也就是分而治之。 它的一般步骤是: ① 将原问题分解成若干个规模较小的子问题(子问题…...

react 实现监听逻辑

需求: 在一个页面下有多个子tab在某些tab 下,或者父节点的数据更新的时候,其他子tab 或者父节点也要同步更新 进程: 正常情况下会把所有用到的数据都移动到父节点,修改行为也都放在父节点但如果这样的话父节点的数据…...

vue项目一个页面包含多个时间选择器的处理方案

描述:vue项目中如果在一个页面使用多个时间选择器组件时,不同的时间选择器需要分别分开工作 解决方案一 原本是想直接每一个时间选择器都安排一套相对独立的维生系统,但是到后面发现繁琐至极,而且报错,果断放弃&#…...

机器学习入门教学——决策树

1、简介 决策树算法是一种归纳分类算法,它通过对训练集的学习,挖掘出有用的规则,用于对新数据进行预测。决策树算法属于监督学习方法。决策树归纳的基本算法是贪心算法,自顶向下来构建决策树。 贪心算法:在每一步选择…...

文献阅读:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

文献阅读:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models 1. 文章简介2. 具体方法3. 实验结果 1. 数学推理 1. 实验设计2. 实验结果3. 消解实验4. 鲁棒性考察 2. 常识推理 1. 实验设计2. 实验结果 3. 符号推理 1. 实验设计2. 实验结果 4.…...

从零开发一款ChatGPT VSCode插件

‍本文作者是360奇舞团开发工程师 引言 OpenAI发布了ChatGPT,就像是给平静许久的互联网湖面上扔了一颗重磅炸弹,刹那间所有人都在追捧学习它。究其原因,它其实是一款真正意义上的人工智能对话机器人。它使用了深度学习技术,通过大…...

go基础09-Go语言的字符串类型

字符串类型是现代编程语言中最常使用的数据类型之一。在Go语言的先祖之一C语言当中,字符串类型并没有被显式定义,而是以字符串字面值常量或以’\0’结尾的字符类型(char)数组来呈现的: #define GOAUTHERS "Rober…...

【C++模拟实现】手撕AVL树

【C模拟实现】手撕AVL树 目录 【C模拟实现】手撕AVL树AVL树的介绍(百度百科)AVL树insert函数的实现代码验证是否为AVL树AVL树模拟实现的要点易忘点AVL树的旋转思路 作者:爱写代码的刚子 时间:2023.9.10 前言:本篇博客将…...

如何重置 docker中的mariadb的root

停止 Mariadb 容器&#xff1a;运行以下命令停止正在运行的 Mariadb 容器&#xff1a; docker stop <container_name>将 <container_name> 替换为你的 Mariadb 容器的名称或容器ID。 删除 Mariadb 容器&#xff1a;运行以下命令删除已停止的 Mariadb 容器&#x…...

设计模式系列-原型模式

一、上篇回顾 上篇创建者模式中&#xff0c;我们主要讲述了创建者的几类实现方案&#xff0c;和创建者模式的应用的场景和特点&#xff0c;创建者模式适合创建复杂的对象&#xff0c;并且这些对象的每 个组成部分的详细创建步骤可以是动态的变化的&#xff0c;但是每个对象的组…...

家用电脑可以用做服务器吗

家用电脑的结构与服务器的结构是相同的&#xff0c;家用电脑是可以用来搭建服务器使用。但使用家用电脑做服务器在稳定性会比服务器差很多 1.家用电脑没有公网IP&#xff0c;网络运营商分配的IP重启路由之后是会变化&#xff0c;不固定。服务器运行是需要有固定IP让人连接访问。…...

CRM软件管理系统的基本功能

CRM管理系统是企业运营的重要工具&#xff0c;它可以帮助企业管理客户关系&#xff0c;提升销售效率&#xff0c;大幅提高客户转化率&#xff0c;实现业绩增长。那么&#xff0c;CRM管理系统一般包含哪些功能呢&#xff1f;下面我们就来说说。 1、销售自动化 销售自动化顾名思…...

手机喊话应用实现思路

手机要是动一下&#xff0c;就喊话“摇摇零线&#xff0c;摇摇零线”&#xff0c;是不是比较酷&#xff0c; 这里实现一下手机翻转一下&#xff0c;播放声音的效果&#xff0c; 通过sensor识别到手机的运动状况&#xff0c;然后播放音频&#xff0c; public class MainActivi…...

【ARM CoreLink 系列 3 -- CCI-550 控制器介绍 】

文章目录 CCI FamilyCCI-550 简介CCI-550 功能CCI-550 Interfaces Snoop filter 使用背景CCI-550 Snoop filter 上篇文章&#xff1a;ARM CoreLink 系列 2 – CCI-400 控制器简介 CCI Family CCI-550 简介 Arm CoreLink CCI-550 Cache Coherent Interconnect 扩展了 CoreLink…...

最长递增子序列 -- 动规

300. 最长递增子序列 注意「⼦序列」和「⼦串」的区别&#xff0c;⼦串⼀定是连续的&#xff0c;⽽⼦序列不⼀定是连续的。 class LengthOfLIS:"""300. 最长递增子序列https://leetcode.cn/problems/longest-increasing-subsequence/description/""&q…...

百度app常用网址在哪里/seo站点是什么意思

水晶报表工具按钮的图标不能加载將 aspnet_client 目錄 COPY 到 ROOT 即可一般在 C:\Inetpub\wwwroot\這個目錄下&#xff0c;COPY到你設置的IIS的ROOT下 1.怎么让组页眉,在同一组中每一页都显示 插入组的时候&#xff0c;在公用选项页面选中“在每个页面上重复组页眉”2…...

网站建议反馈应该怎么做/seo是什么职位的简称

methods一般运用在需要主动触发的事件上&#xff0c;computed则是用在响应对某个数据的处理上。 computed依靠自己的依赖进行缓存&#xff0c;因为着只要依赖的变量不变&#xff0c;计算属性返回的值永远是原来运行的结果。而methods每次渲染调用就会和函数一样重新执行一次。…...

珠海 电商 网站建设/网络推广哪家好

转自&#xff1a;http://hi.baidu.com/su602/blog/item/c6050fdbb8fd0865d0164eb5.html 要使计算机能完成人们预定的工作&#xff0c;首先必须为如何完成预定的工作设计一个算法&#xff0c;然后再根据算法编写程序。计算机程序要对问题的每个对象和处理规则给出正确详尽的描述…...

在那些免费网站做宣传效果好/搜索引擎营销sem包括

前言 很多做开发的朋友都会遇到的怪圈。当你到某一个阶段&#xff0c;会觉得业务和技术提升很难&#xff0c;现在的公司待着感觉没有前途混吃等死&#xff0c;想跳槽吧&#xff0c;自己有多高的能力心里还是有比数的。 这种情况就是遇到瓶颈期了 我有统计过那些校招进大厂做…...

网站建设交接表/创建一个网站

转载出处&#xff1a;http://blog.csdn.net/mbh_1991/article/details/10149805 原文是一个系列文章&#xff0c;我将他们揉在了一起&#xff0c;并将原标题“C语言深度解剖读书笔记”改名为“C语言知识整理”&#xff0c;并将持续在原作者的基础上进行修改&#xff08;修订&am…...

品牌的佛山网站建设/网站建设策划书范文

区块链入门教程 作者&#xff1a; 阮一峰 日期&#xff1a; 2017年12月26日 区块链&#xff08;blockchain&#xff09;是眼下的大热门&#xff0c;新闻媒体大量报道&#xff0c;宣称它将创造未来。 可是&#xff0c;简单易懂的入门文章却很少。区块链到底是什么&#xff0c;有…...