11、Nvidia显卡驱动、CUDA、cuDNN、Anaconda及Tensorflow Pytorch版本
Nvidia显卡驱动、CUDA、cuDNN、Anaconda及Tensorflow-GPU版本
- 一、确定版本关系
- 二、安装过程
- 1.安装显卡驱动
- 2、安装CUDA
- 3、安装cudnn
- 4、安装TensorFlow
- 5、安装pytorch
- 三、卸载
一、确定版本关系
TensorFlow Pytorch推出cuda和cudnn的版本,cuda版本推出驱动可选版本
1、CUDA与显卡驱动
https://www.nvidia.com/Download/index.aspx


2、cuDNN Toolkit与CUDA版本
https://developer.nvidia.com/rdp/cudnn-archive

3、TensorFlow与CUDA cuDNN
https://tensorflow.google.cn/install/source?hl=en

4、Pytorch与CUDA cuDNN
https://pytorch.org/


5、cudnn
https://zhuanlan.zhihu.com/p/639184948
https://blog.csdn.net/Williamcsj/article/details/123514435
官方下载地址:https://developer.nvidia.com/rdp/cudnn-archive

安装TensorFlow
- 安装依赖包
安装 TensorFlow 之前需要我们安装两个个依赖包,这里我的 cuda 版本为 11.1,cudnn 版本为 8.1.0,下载依赖包为
libcudnn8_8.1.0.77-1+cuda11.2_amd64.deb
libcudnn8-dev_8.1.0.77-1+cuda11.2_amd64.deb
官网链接如下:https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/
这里我使用 wget 下载:
参考链接:https://blog.csdn.net/weixin_46584887/article/details/122726278
官方教程:https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html

二、安装过程
参考:
https://blog.csdn.net/m0_45447650/article/details/132058561
https://blog.csdn.net/weixin_46584887/article/details/122726278
1.安装显卡驱动
方法(1)在线安装
1. 卸载旧版本nvidia驱动
如果没有安装nvidia驱动,可直接跳过。$ sudo apt purge nvidia*
1
2. 把显卡驱动加入PPA
$ sudo add-apt-repository ppa:graphics-drivers
$ sudo apt update
1
2
3. 查找版本库中显卡驱动
使用以下命令查看系统版本库中所有nvidia驱动的信息,根据需要选择合适的版本。$ sudo apt-cache search nvidia
1
推荐使用以下命令,查看Ubuntu推荐的驱动版本,从中选择合适的版本。$ ubuntu-drivers devices
参考链接:https://blog.csdn.net/qq_28256407/article/details/115548675
方法(2)下载安装
https://www.nvidia.com/Download/index.aspx

可以参考:https://blog.csdn.net/Perfect886/article/details/119109380,之前是run文件,现在是def文件,Debian安装命令一般sudo dpkg -i 命令。
例如:sudo dpkg -i cuda-repo--X-Y-local_*_x86_64.deb
2、安装CUDA
方法一:用run方式,可以选择是否安装驱动,一般不选
https://developer.nvidia.com/cuda-downloads?

选择是否安装:https://zhuanlan.zhihu.com/p/501473091

配置环境
配置环境
gedit ~/.bashrc
在打开的文件中添加
export CUDA_HOME=/usr/local/cuda-11.1
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}
链接:https://blog.csdn.net/qq_39821101/article/details/116092190
方法二:官方教程:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#

参考:https://blog.csdn.net/qq_39821101/article/details/116092190
https://blog.csdn.net/m0_45447650/article/details/132058561
3、安装cudnn
(1)下载安装:cudann
https://developer.nvidia.com/rdp/cudnn-archive

2 安装deb文件(安装 TensorFlow 之前需要我们安装两个个依赖包)
官方下载地址:https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/

使用如下语句依次安装:(debain命令,Ubuntu也可以)
sudo dpkg -i libcudnn8_8.0.3.33-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.3.33-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.3.33-1+cuda11.0_amd64.deb
Ubuntu命令,作为参考
执行以下命令:
sudo apt install ./cudnn-local-repo-ubuntu2004-*amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2004-8.4.1.88/cudnn-local-4B348671-keyring.gpg /usr/share/keyrings/
sudo apt update
#下面自动匹配版本,注意版本不对会出错
sudo apt install libcudnn8
sudo apt install libcudnn8-dev
sudo apt install libcudnn8-samples
参考:https://zhuanlan.zhihu.com/p/126997172
https://zhuanlan.zhihu.com/p/639184948
4、安装TensorFlow
pip install -i https://mirrors.aliyun.com/pypi/simple tensorflow
#(2)查看cuda是否可用
import tensorflow as tf
print(tf.test.is_gpu_available())#如果结果是True,表示GPU可用
5、安装pytorch
pip3 install torch torchvision torchaudio
import torch
print(torch.__version__)
print(torch.cuda.is_available())

三、卸载
1. 卸载旧版本nvidia驱动
如果没有安装nvidia驱动,可直接跳过。
$ sudo apt purge nvidia*2、卸载cuda
#只执行这条可以
sudo apt-get autoremove nvidia-cuda-toolkitcd /usr/local/cuda-11.1/bin
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-11.1
从https://developer.nvidia.com/cuda-toolkit-archive下载对应版本的cuda
如果你之前执行过sudo apt-get install nvidia-cuda-toolkit,需要卸载:sudo apt-get autoremove nvidia-cuda-toolkitsudo apt-get install nvidia-cuda-toolkit
# 卸载
sudo apt-get autoremove nvidia-cuda-toolkit
在终端输入
nvcc -V
没有cuda版本信息,则卸载成功
链接:https://blog.csdn.net/qq_39821101/article/details/1160921903、卸载cudnn
查询:
sudo dpkg -l | grep cudnn
将其全部卸载:
sudo dpkg -r libcudnn8-samples
sudo dpkg -r libcudnn8-dev
sudo dpkg -r libcudnn8检查:
输入下面指令后,没有任何输出即卸载成功。
sudo dpkg -l | grep cudnn
接:https://blog.csdn.net/Williamcsj/article/details/123514435相关文章:
11、Nvidia显卡驱动、CUDA、cuDNN、Anaconda及Tensorflow Pytorch版本
Nvidia显卡驱动、CUDA、cuDNN、Anaconda及Tensorflow-GPU版本 一、确定版本关系二、安装过程1.安装显卡驱动2、安装CUDA3、安装cudnn4、安装TensorFlow5、安装pytorch 三、卸载 一、确定版本关系 TensorFlow Pytorch推出cuda和cudnn的版本,cuda版本推出驱动可选版本…...
将数据库文件压缩并上传到文件服务器
1.引入上传工具和压缩包工具 <dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId> </dependency> <dependency><groupId>com.zlpay</groupId><artifactId>zl-util-fastdfs…...
docker — 容器网络
一、概述 Docker容器每次重启后容器ip是会发生变化的。 这也意味着如果容器间使用ip地址来进行通信的话,一旦有容器重启,重启的容器将不再能被访问到。 而Docker 网络就能够解决这个问题。 Docker 网络主要有以下两个作用: 容器间的互联…...
腾讯面试题:使用Redis分布式锁可能会出现哪些问题?
嗨大家好,我是你们的小米!今天要和大家聊一个有趣的话题,那就是“腾讯面试题:使用Redis做分布式锁可能会出现哪些问题?”没错,就是腾讯大佬们在面试时经常会问到的一个问题,我们来一起深入了解一…...
直接在html中引入Vue.js的cdn来实现Vue3的组合式API
Vue3的组合式API是使用setup函数来编写组件逻辑的。setup函数是Vue3中用于替代Vue2的选项API(如data、methods等)的一种方式。在setup函数中,你可以访问到一些特殊的响应式对象,并且可以返回一些可以在模板中使用的数据、方法等。…...
YAPi在线接口文档简单案例(结合Vue前端Demo)
在前后端分离开发中,我们都是基于文档进行开发,那前端人员有时候无法马上拿到后端的数据,该怎么办?我们一般采用mock模拟伪造数据直接进行测试,本篇文章主要介绍YApi在线接口文档的简单使用,并结合Vue的小d…...
Java基础篇--Runtime类
介绍 Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例。 因此在Runtime类定义的时候,它的构造方法已经被私有化了(单例设计模式的应用),对象…...
数字后端笔试题(1)DCG后congestion问题
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 已知某模块的DCG结果显示存在congestion,有congestion部分逻辑结构如下图: 问题1: 如何分析该电路有congestion问题的原因? 答:data selecti…...
数据结构:交换排序
冒泡排序 起泡排序,别名“冒泡排序”,该算法的核心思想是将无序表中的所有记录,通过两两比较关键字,得出升序序列或者降序序列。 算法步骤 比较相邻的元素。如果第一个元素大于第二个元素,就交换它们。对每一对相邻…...
SpringBoot复习:(42)WebServerCustomizer的customize方法是在哪里被调用的?
ServletWebServletAutoConfiguration类定义如下: 可以看到其中通过Import注解导入了其内部类BeanPostProcessorRegister。 BeanPostProcessor中定义的registerBeanDefinition方法会被Spring容器调用。 registerBeanDefinitions方法调用了RegistrySyntheticBeanIf…...
年至年的选择仿elementui的样式
组件:<!--* Author: liuyu liuyuxizhengtech.com* Date: 2023-02-01 16:57:27* LastEditors: wangping wangpingxizhengtech.com* LastEditTime: 2023-06-30 17:25:14* Description: 时间选择年 - 年 --> <template><div class"yearPicker"…...
分类过程中的一种遮挡现象
( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点,AB训练集各由6张二值化的图片组成,让A,B中各有3个点,且不重合,统计迭代次数并排序。 其中有10组数据 差值结构 迭代次数 构造平均列A 构造平均列AB…...
下一代服务架构:单体架构-->分布式架构-->微服务(DDD)-->软件定义架构(SDF with GraphEngine)
参考:自己实现一个SQL解析引擎_曾经的学渣的博客-CSDN博客...
excel 之 VBA
1、excel和VBA 高效办公,把重复性的工作写成VBA代码(VB代码的衍生物,语法和VBA相同)。 首先打开开发工具模式,如果没有选显卡,需要手动打开 打开程序编辑界面 快捷键 altF11一般操作 程序调试…...
【数学建模】--聚类模型
聚类模型的定义: “物以类聚,人以群分”,所谓的聚类,就是将样本划分为由类似的对象组成的多个类的过程。聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计,分析或预测;也可以探究不…...
css3新增选择器总结
目录 一、属性选择器 二、结构伪类选择器 三、伪元素选择器 四、UI状态伪类选择器 五、反选伪类选择器 六、target选择器 七、父亲选择器、后代选择器 八、相邻兄弟选择器、兄弟们选择器 一、属性选择器 (除IE6外的大部分浏览器支持) E&#…...
0基础学C#笔记10:归并排序法
文章目录 前言一、递归的方式二、代码总结 前言 将一个大的无序数组有序,我们可以把大的数组分成两个,然后对这两个数组分别进行排序,之后在把这两个数组合并成一个有序的数组。由于两个小的数组都是有序的,所以在合并的时候是很…...
nlohmann json:通过for遍历object和array
object和array可以使用数for进行遍历: #include <iostream> #include <nlohmann/json.hpp> using namespace std; using json = nlohmann::json;auto checkJsonType(json& x) {if(x.type() == json::value_t::null){cout<<x<<" is null&quo…...
适配器模式:将不兼容的接口转换为可兼容的接口
适配器模式:将不兼容的接口转换为可兼容的接口 什么是适配器模式? 适配器模式是一种结构型设计模式,用于将一个类的接口转换为客户端所期望的另一个接口。它允许不兼容的类能够合作,使得原本由于接口不匹配而无法工作的类能够一…...
【量化课程】07_量化回测
文章目录 7.1 pandas计算策略评估指标数据准备净值曲线年化收益率波动率最大回撤Alpha系数和Beta系数夏普比率信息比率 7.2 聚宽平台量化回测实践平台介绍策略实现 7.3 Backtrader平台量化回测实践Backtrader简介Backtrader量化回测框架实践 7.4 BigQuant量化框架实战BigQuant简…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
