Ubuntu 20.04安装显卡驱动、CUDA、Pytorch(2024.06最新)

文章目录

  • 一、安装显卡驱动
    • 1.1 查看显卡型号
    • 1.2 根据显卡型号选择驱动
    • 1.3 获取下载链接
    • 1.4 查看下载的显卡驱动安装文件
    • 1.5 更新软件列表和安装必要软件、依赖
    • 1.6 卸载原有驱动
    • 1.7 禁用默认驱动
    • 1.8 安装lightdm显示管理器
    • 1.9 停止显示服务器
    • 1.10 在文本界面中,禁用X-window服务
    • 1.11 安装驱动
    • 1.12 检测显卡驱动是否安装成功
    • 1.12 重启显示服务、恢复图像界面
  • 二、安装CUDA
    • 2.1 选择合适的CUDA版本
    • 2.2 下载CUDA
    • 2.3 安装CUDA
    • 2.4 环境变量配置
    • 2.5 检测CUDA是否安装成功
  • 三、安装Pytorch
    • 3.1 选择合适Pytorch版本
    • 3.2 安装Pytorch
  • 四、关于安装cuDNN(这个坑以后再补)

一、安装显卡驱动

1.1 查看显卡型号

lspci | grep -i nvidia

在这里插入图片描述

我们发现输出的信息中有Device 2230,可以根据这个信息查询显卡型号
查询网址:https://admin.pci-ids.ucw.cz/mods/PC/10de?action=help?help=pci

在这里插入图片描述

输入后点击Jump查询

在这里插入图片描述

我们发现显卡型号为RTX A6000

1.2 根据显卡型号选择驱动

英伟达驱动下载:https://www.nvidia.cn/Download/Find.aspx?lang=cn&QNF=1

根据需求,输入显卡型号操作系统语言,选择相应的驱动版本,我选择550.78这个版本。

在这里插入图片描述

1.3 获取下载链接

点击下载
在这里插入图片描述

点击【同意并开始下载

在这里插入图片描述
复制下载链接:https://cn.download.nvidia.cn/XFree86/Linux-x86_64/550.78/NVIDIA-Linux-x86_64-550.78.run
并使用wget在命令行下载:

wget https://cn.download.nvidia.cn/XFree86/Linux-x86_64/550.78/NVIDIA-Linux-x86_64-550.78.run

在这里插入图片描述

1.4 查看下载的显卡驱动安装文件

ll

在这里插入图片描述

1.5 更新软件列表和安装必要软件、依赖

sudo apt-get update
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make

1.6 卸载原有驱动

sudo apt-get remove --purge nvidia* 

1.7 禁用默认驱动

在安装NVIDIA驱动前,禁用系统自带显卡驱动nouveau
使用vim打开和修改文件,也可用gedit

sudo vim /etc/modprobe.d/blacklist.conf

在文件尾增加两行:

blacklist nouveau
options nouveau modeset=0

在这里插入图片描述
更新文件

sudo update-initramfs –u

此时必须重启电脑:

sudo reboot

1.8 安装lightdm显示管理器

sudo apt-get install lightdm

1.9 停止显示服务器

sudo telinit 3

1.10 在文本界面中,禁用X-window服务

sudo service gdm3 stop

1.11 安装驱动

# 授予执行权限
sudo chmod 777 NVIDIA-Linux-x86_64-550.78.run# 执行安装命令
sudo ./NVIDIA-Linux-x86_64-550.78.run

1.12 检测显卡驱动是否安装成功

nvidia-smi

在这里插入图片描述

大功告成~

1.12 重启显示服务、恢复图像界面

sudo  service  gdm3 start
sudo telinit 5

二、安装CUDA

2.1 选择合适的CUDA版本

我显卡的驱动版本是550.78,可以安装CUDA 12版本。可根据自己显卡版本选择合适的CUDA版本:查询链接:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
在这里插入图片描述

2.2 下载CUDA

下载页面链接:https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
在这里插入图片描述

# 使用命令下载文件:
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run

在这里插入图片描述

# 使用命令查看文件下载:
ll

在这里插入图片描述

2.3 安装CUDA

sudo sh cuda_12.1.0_530.30.02_linux.run

稍等一会,会出现如下界面,输入:accept即可安装
在这里插入图片描述

接着会出现如下界面:

在这里插入图片描述
需要注意的是,上述过程我们已在步骤1安装显卡驱动,已无需再装,可通过键盘选择,取消驱动的安装。
再将光标通过键盘移至Install,开始安装:

在这里插入图片描述

2.4 环境变量配置

vim方式打开配置文件

sudo vim ~/.bashrc

在文件尾中加入以下两行:

export PATH="/usr/local/cuda-12.1/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH"

在这里插入图片描述
更新环境变量

source ~/.bashrc

2.5 检测CUDA是否安装成功

nvcc -V

在这里插入图片描述
命令行显示如上信息,表明安装成功!大功告成~

三、安装Pytorch

3.1 选择合适Pytorch版本

链接:https://pytorch.org/get-started/previous-versions/
在这里插入图片描述
由于CUDA安装的版本是12.1,所以可以用Pytorch的v2.2.0版本

3.2 安装Pytorch

可用conda安装

conda install pytorch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 pytorch-cuda=12.1 -c pytorch -c nvidia

也可用pip安装

pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu121

四、关于安装cuDNN(这个坑以后再补)

cuDNN是一个基于CUDA的深度学习GPU加速库,可以提高深度学习模型在GPU上的训练速度。cuDNN不是必须安装的,但是一般会采用这个加速库。部分深度学习框架,如PyTorch,会自带预先编译的cuDNN,无需手动安装。后面我还需要安装Pytorch,所以cuDNN就没安装,需要安装的可以参考下面信息,但是不完整。

版本查看页面:https://developer.nvidia.com/cudnn-downloads
在这里插入图片描述

下载CUDA 12对应的cuDNN版本,这里我们选择8.9.0版本。点击该版本,显示如下,我们选择红框圈中的版本。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/36428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于新零售的一些思考

本文作为2024上半年大量输入之后的核心思考之一。工作到一定阶段之后,思考的重要性越来越高,后续会把自己的个人思考记录在这个新系列《施展爱思考》。背景是上半年面临业务转型从电商到新零售,本文是相关大量输入之后的思考,对新…

浅析Resource Quota中limits计算机制

前言 在生产环境中,通常需要通过配置资源配额(Resource Quota)来限制一个命名空间(namespace)能使用的资源量。在资源紧张的情况下,常常需要调整工作负载(workload)的请求值&#xf…

生信实证系列Vol.15:如何用AlphaFold2,啪,一键预测100+蛋白质结构

"结构就是功能"——蛋白质的工作原理和作用取决于其3D形状。 2020年末,基于深度神经网络的AlphaFold2,一举破解了困扰生物学界长达五十年之久的“蛋白质折叠”难题,改变了科学研究的游戏规则,可以从蛋白质序列直接预测…

MySQL高级-索引-使用规则-前缀索引

文章目录 1、前缀索引2、前缀长度3、查询表数据4、查询表的记录总数5、计算并返回具有电子邮件地址(email)的用户的数量6、从tb_user表中计算并返回具有不同电子邮件地址的用户的数量7、计算唯一电子邮件地址(email)的比例相对于表…

Spring Cloud Alibaba之声明式服务调用框架OpenFeign

实例演示1&#xff1a;使用OpenFeign调用服务 基于nacos的服务提供者&#xff1a; 创建SimpleOpenFeign的maven项目&#xff0c;添加pom依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-…

MySQL中Explain执行计划各参数的含义

EXPLAIN 语句输出的各个列的作用先大致罗列一下&#xff1a; 列名 描述 id 在一个大的查询语句中每个SELECT关键字都对应一个唯一的id select_type SELECT关键字对应的那个查询的类型 table 表名 partitions 匹配的分区信息 type 针对单表的访问方法 possible_keys…

VR加密方案常见问题有哪些?

在数字化时代&#xff0c;随着虚拟现实&#xff08;VR&#xff09;技术的迅速发展与普及&#xff0c;VR视频内容的安全传输成为关注焦点。为保护版权及敏感信息免遭非法复制或篡改&#xff0c;VR视频加密技术显得尤为重要。 首先&#xff0c;高效的加密算法对确保数据安全性至关…

动态流体工厂大屏

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 namespace 动态流体工厂大屏 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){Task.Run(() >{while (true){this.Invoke(() >…

Linux之prometheus安装和使用简介(一)

一、prometheus简介 普罗米修斯Prometheus是一个开源系统监控和警报工具包&#xff0c;最初构建于SoundCloud。自2012年成立以来&#xff0c;许多公司和组织都采用了普罗米修斯&#xff0c;该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立的开源项目&#xff0c;独立…

正则表达式详解及应用

正则表达式&#xff08;Regular Expression&#xff09;&#xff0c;简称正则&#xff0c;是一种用于匹配字符串中字符组合的模式。它广泛应用于字符串查找、替换、数据验证等任务中。在Java中&#xff0c;正则表达式的支持由java.util.regex包提供。本文将详细介绍正则表达式的…

【深度学习】实践方法论

李宏毅深度学习笔记 优化问题 训练数据的损失不够低的时候&#xff0c;到底是模型偏差&#xff0c;还是优化的问题&#xff1f; 判断方法是通过比较不同的模型来判断模型现在到底够不够大 看到一个从来没有做过的问题&#xff0c;可以先跑一些比较小的、比较浅的网络&#x…

如何使用Hugging Face Transformers为情绪分析微调BERT?

情绪分析指用于判断文本中表达的情绪的自然语言处理(NLP)技术&#xff0c;它是客户反馈评估、社交媒体情绪跟踪和市场研究等现代应用背后的一项重要技术。情绪可以帮助企业及其他组织评估公众意见、提供改进的客户服务&#xff0c;并丰富产品或服务。 BERT的全称是来自Transfo…

编译VTK静态库

编译VTK静态库遇到问题 vtkCommonCore-9.3d.lib(vtkSMPToolsAPI.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl vtk::detail::smp::vtkSMPToolsImpl<1>::IsParallelScope(void)" (?IsParallelScope?$vtkSMPToolsImpl$00smpdetai…

基于深度学习的图片检索

基于深度学习的图片检索 图片检索是指在大规模图像库中&#xff0c;根据给定的查询图像或描述&#xff0c;找到与之相关的图像。基于深度学习的方法通过提取高层次特征和语义信息&#xff0c;实现了高效和准确的图片检索。 深度学习在图片检索中的优势 特征提取能力强&#…

网信办算法备案详细解读——中国人工智能监管新规

中国出台新规旨在防范人工智能的相关风险&#xff0c;且规定了从事人工智能相关业务的实体的合规义务。 要点&#xff1a; • 中华人民共和国&#xff08;中国&#xff09; 通过推出并实施如下一系列法规&#xff0c;在人工智能监管方面领先于其他司法管辖 区&#xff1a…

Spring Cloud Alibaba之限流与防护组件Sentinel

实例演示1&#xff1a;通过Sentinel实现限流 创建SentinelDemo的Maven项目&#xff0c;配置pom文件&#xff1a; <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId&…

智能化招聘管理系统的价格大概是多少?会很贵吗?

很多企业在做自己本单位的招聘的时候&#xff0c;使用的方法都是非常的原始的人工方法。这些方法虽然成本不大&#xff0c;但是给人事人员带来的工作压力是比较大的&#xff0c;因为来企业面试的人或许非常多&#xff0c;带来的简历也是比较多的。这个时候需要人事人员人工的筛…

1.变量数据类型

1.常见的字面量类型,整数,浮点数,字符串 2.注释 # , “”“”“” , todo注释 一般包括序言性注释(功能接口,数据的描述,模块功能),功能性注释(程序段的功能,语句功能,数据的状态), 3.变量 记录存储数据. 定义变量不需要指定类型 变量名称 值 变量的值是可以改变的,可重复使…

Linux源码阅读笔记07-进程管理4大常用API函数

find_get_pid find_get_pid(...)函数功能&#xff1a;根据进程编号获取对应的进程描述符&#xff0c;具体Linux内核源码对应函数设计如下&#xff1a; 获取进程描述符&#xff0c;且描述符的count1&#xff0c;表示进程多一个用户 pid_task pid_task(...)函数功能&#xff1…

vue2中的组件自定义事件

1.绑定事件: <组件 :自定义名称"方法" /> 2.调用 this.$emit(方法,参数) 3.关闭 this.$off(方法) 案例: 1.提前准备好组件 Student组件 <template><div class"student"><h1>学校名称:{{ st…