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简…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
leetcode73-矩阵置零
leetcode 73 思路 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...
