Linux Ubuntu20.04深度学习环境快速配置命令记录
一、驱动安装
1、更新系统包
sudo apt-get updatesudo apt-get upgrade
2、安装显卡驱动
使用apt方式安装驱动,多数情况不容易成功,
使用一下方法更佳:
1.查看合适显卡的驱动版本
ubuntu-drivers devices
NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIANVIDIA GeForce 驱动程序官方提供下载最新版的 Geforce 驱动程序,可提升 PC 游戏体验和应用程序速度。更多关于更新显卡驱动程序以及显卡驱动程序下载的信息,请访问 NVIDIA 官网。https://www.nvidia.cn/geforce/drivers/选择合适版本的驱动,下载后直接可以安装
下载推荐版本
两种方式:①有桌面的,直接双击进行安装。
②命令行:
sudo dpkg -i XXX.deb
2.minicoda 见前面的文章 。Miniconda — conda documentationhttps://docs.conda.io/en/latest/miniconda.html#linux-installers
3、安装cuda
查看版本对应
CUDA 12.2 Release Notes — cuda-toolkit-release-notes 12.2 documentationThe Release Notes for the CUDA Toolkit.https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
查看pytorch版本对应
Previous PyTorch Versions | PyTorchAn open source machine learning framework that accelerates the path from research prototyping to production deployment.https://pytorch.org/get-started/previous-versions/
安装 11.7版本cuda比较通用
CUDA Toolkit 11.7 Update 1 Downloads | NVIDIA DeveloperResources CUDA Documentation/Release NotesMacOS Tools Training Sample Code Forums Archive of Previous CUDA Releases FAQ Open Source PackagesSubmit a BugTarball and Zip Archive Deliverableshttps://developer.nvidia.com/cuda-11-7-1-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local
不要使用network版本安装,它会直接安装最新版本,使用离线安装,两个时间差不多
4、安装cudnn
cuDNN Archive | NVIDIA DeveloperExplore and download past releases from cuDNN GPU-accelerated primitive library for deep neural networks.https://developer.nvidia.com/rdp/cudnn-archive
主要对应版本,intel 选86_64 , 系统 20.04.只需要下载一个文件,这里和老版本不太一样。同样双击就可以安装。
最后一把配置环境变量
export PATH="/usr/local/cuda-11.7/bin${PATH:+:${PATH}}"
export LD_LIBRARY_PATH="/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
torch安装,参考18.04版本
Ubuntu 18.04 深度学习环境快速配置命令记录_瑾怀轩的博客-CSDN博客sudo apt-get install ubuntu-drivers-common #安装。4、在线安装不行,离线安装ok。5、安装miniconda。10、安装cudann。6、初始化conda。https://blog.csdn.net/ckq707718837/article/details/130884384?spm=1001.2014.3001.5502
二、驱动卸载
卸载cuda:
sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \"*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*"
卸载nvidia驱动
sudo apt-get --purge remove "*nvidia*" "libxnvctrl*"
卸载不用的依赖包
sudo apt-get autoremove
三、可能会遇到的问题:
问题一、
ERROR: An
NVIDIA kernel module 'nvidia-uvm' appears to already be loaded in your kernel
ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel
安装驱动的报错信息为:
ERROR: An NVIDIA kernel module 'nvidia-uvm' appears to already be loaded in your kernel. This may be because it is
in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence Daemon), but this may also happen if
your kernel was configured without support for module unloading. Please be sure to exit any programs that may be us
ing the GPU(s) before attempting to upgrade your driver. If no GPU-based programs are running, you know that your k
ernel supports module unloading, and you still receive this message, then an error may have occurred that has corrup
ted an NVIDIA kernel module's usage count, for which the simplest remedy is to reboot your computer.
or
ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel. This may be because it is
in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence Daemon), but this may also happen if
your kernel was configured without support for module unloading. Please be sure to exit any programs that may be us
ing the GPU(s) before attempting to upgrade your driver. If no GPU-based programs are running, you know that your k
ernel supports module unloading, and you still receive this message, then an error may have occurred that has corrup
ted an NVIDIA kernel module's usage count, for which the simplest remedy is to reboot your computer.
正常情况:
解决办法如下: 目的是移去kernel中包含NVIDIA的进程,举个栗子:
命令:
lsmod | grep nvidia
nvidia_uvm 995356 2
nvidia_drm 53134 0
nvidia_modeset 1195268 1 nvidia_drm
nvidia 35237551 14 nvidia_modeset,nvidia_uvm
drm_kms_helper 179394 2 i915,nvidia_drm
drm 429744 5 i915,drm_kms_helper,nvidia,nvidia_drm
数字代表依赖进程数量,卸载时,需要重后置位不存在依赖项的开始卸载,比如这里要从
nvidia-smi开始
sudo rmmod nvidia-drm
sudo rmmod nvidia-moddeset
sudo rmmod nvidia
现在再使用:
lsmod | grep nvidia
会发现基本上没有信息了打印了,如何还有,就用上面的命令卸载过程中还会出现意外情况,就是 某个模块被占用,卸载不掉
rmmod: ERROR: Module nvidia_drm is in use
如果是 nvidia-uvm可以使用top命令,查看进程,kill掉进程,再执行上面步骤。
如果是 nvidia-drm 会发现没在进程中,这是进入无图形化界面
sudo systemctl isolate multi-user.target
这个过程可能黑屏,不用慌张,关机重启,再尝试该操作,登录账号后,同样的操作,
lsmod | grep nvidia
sudo rmmod nvidia-drm
也可以使用下面命令
sudo modprobe -r nvidia-drm
如果还有其他的一次性卸载完。卸载完后,使用下面命令进入图形化界面
sudo systemctl start graphical.target
进入后 ,检查一下
lsmod | grep nvidia
没有依赖项可以安装了
问题二、安装是要注意版本,安装时注意选项选择
sudo sh NVIDIA-Linux-x86_64-535.42.run -no-x-check -no-nouveau-check -no-opengl-files
后面可加参数,选择选项,跟着默认项选即可。
这里注意的是,安装32位库会根据显卡版本,修改系统内核。所以在安装前选好版本后,尽量和系统推荐版本,与内核版本保持一致。
查看内核版本
less /proc/version
cat /proc/driver/nvidia/version
ubuntu-drivers devices
安装好后nvidia驱动,使用nvidia-smi如果不需要低版本cuda需求,尽量使用nvidia-smi上面推荐的cuda版本
问题3
Failed to initialize NVML: Driver
这个问题 一般情况重启就能解决, 注意前提
1、安装好显卡驱动
2、安装好cuda和cudnn
3、配置好环境变量
解决办法: 关机 --》开机
如果还解决不了,从头再来,大概率是安装显卡驱动版本选错了,或者提示选项选错了。
相关文章:
Linux Ubuntu20.04深度学习环境快速配置命令记录
一、驱动安装 1、更新系统包 sudo apt-get updatesudo apt-get upgrade 2、安装显卡驱动 使用apt方式安装驱动,多数情况不容易成功, 使用一下方法更佳: 1.查看合适显卡的驱动版本 ubuntu-drivers devices NVIDIA GeForce 驱动程序 - …...
信息安全三级真题一
目录 一、单选题 二、填空题 三、综合题 一、单选题 二、填空题 三、综合题 知法懂法,请各位网络安全从业者遵守《网络安全法》、《个人信息保护法》 业%$务*$&联&#系 XHU3ZjUxXHU3ZWRjXHU4ZmQwXHU3ZWY0XHU2ZTE3XHU5MDBmXHU1NmUyXHU5NjFmXHUyMDBiXHU2M…...
RK3568-tftp更新设备树和内核nfs挂载文件系统
1. 注意:需要设备树和内核按以下修改才能支持tftp和nfs。 1.1 修改设备树: diff --git a/arch/arm64/boot/dts/rockchip/OK3568-C-linux.dts b/arch/arm64/boot/dts/rockchip/OK3568-C-linux.dts index 178b4d831..34cb57ffd 100644 --- a/arch/arm64/boot/dts/rockchip/OK…...
FIR滤波器简述及FPGA仿真验证
数字滤波器的设计,本项目做的数字滤波器准确来说是FIR滤波器。 FIR滤波器(有限冲激响应滤波器),与另一种基本类型的数字滤波器——IIR滤波器(无限冲击响应滤波器)相对应,其实就是将所输入的信号…...
高速信号处理板资料保存:383-基于kintex UltraScale XCKU060的双路QSFP+光纤PCIe 卡设计原理图
基于kintex UltraScale XCKU060的双路QSFP光纤PCIe 卡 一、板卡概述 本板卡系我司自主研发,基于Xilinx UltraScale Kintex系列FPGA XCKU060-FFVA1156-2-I架构,支持PCIE Gen3 x8模式的高速信号处理板卡,搭配两路40G QSFP接口…...
QT:使用分组框、单选按钮、普通按钮、标签、行编辑器、垂直分布、水平分布做一个小项目
widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QRadioButton> //单选按钮 #include <QGroupBox> //分组框 #include <QHBoxLayout> //水平布局 #include <QVBoxLayout> //垂直布局 #include <QPushButton>…...
封装微信小程序隐私信息授权
隐私 代码 html (modal 组件再后面封装有提供) <modal isShow"{{show}}"><view class"privacy-auth-dialog"><view class"title">温馨提示</view><view class"content"><vi…...
【C#】FileInfo类 对文件进行操作
提示:使用FileInfo类时,要引用System.IO命名空间。 using System.IO; FileInfo类 生成文件删除文件移动文件复制文件获取文件名判断文件是否存在属性列表其它常用方法 生成文件 Create():在指定路径上创建文件。 FileInfo myFile new FileIn…...
python中的字符串也是可迭代对象吗?
python中的字符串也是可迭代对象吗? ━━━━━━━━━━━━━━━━━━━━━━ 是的,Python中的字符串是可迭代对象。这意味着你可以像处理列表或元组那样处理字符串。例如,你可以使用for循环遍历字符串中的每个字符,或…...
C++ 图像线特征提取【HoughLinesP算法】
目录 一、函数介绍二、实现步骤三、代码示例一、函数介绍 HoughLinesP:是一种基于Hough变换的直线检测算法。它可以识别图像中的直线,并返回它们的端点坐标。其函数接口如下: cv::HoughLinesP( InputArray src, // 输入图像,必须 8-bit 的灰度图像 OutputArray…...
Stable Diffusion WebUI内存不够爆CUDA Out of memory怎么办?
在我们运行SD的时候,我们经常会爆CUDA Out of memory。 我们应该怎么办呢? 这是因为我们的显存或者内存不够了。 如果你是用cpu来跑图的则表示内存不够,这个时候就需要换个大点的内存了。 如果你是用gpu来跑图的就说明你显存不够用咯,这时候咋办呢? 下面我将一一述说…...
模板学堂|数据可视化仪表板大屏设计流程梳理
DataEase开源数据可视化分析平台于2022年6月正式发布模板市场(https://dataease.io/templates/)。模板市场旨在为DataEase用户提供专业、美观、拿来即用的仪表板模板,方便用户根据自身的业务需求和使用场景选择对应的仪表板模板&a…...
基于Xml方式Bean的配置-Bean的延时加载
SpringBean的配置详解 Bean的延时加载 当lazy-init设置为true时为延时加载,也就是当Spring容器创建的时候,不会立即创建Bean实例,等待用到时再创建Bean实例并储存到单例池中,后续使用该Bean时直接从单例池中获取即可,…...
python之pyQt5实例:Matplotlib的应用
1、显示逻辑 1.1MatplotlibWidget.py import sys import random import matplotlibmatplotlib.use("Qt5Agg") from PyQt5 import QtCore from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QSizePolicy, QWidget from numpy import arange, si…...
智囊AI-基于 ChatGPT 的 AI 工具产品 你的私人AI助手
智囊AI是一款基于 ChatGPT 的 AI 工具产品,主打免费、智能、方便,可以在此雇佣各种各样的免费智囊进行对话、自己创造和分享智囊、共享有趣有用的对话等。不过使用需要注册登录,可以使用自己的openai key或者使用网站提供的api key࿰…...
nginx配置vue前端代理
背景:做一个前后端分离的项目,我这里是vue3 view ts创建的前端项目,在前端配置跨域请求。 一、开发阶段 在vue.config.js中配置devserver的proxy进行代理请求配置,然后将所有请求改为/api开头的即可。但是这样配置只在开发阶段…...
【C语言】【数据存储】用%u打印char类型?用char存128?
1.题目一: #include <stdio.h> int main() {char a -128;printf("%u\n",a);return 0; }%u 是打印无符号整型 解题逻辑: 1. 原反补互换,截断 -128 原码:10000000…10000000 补码:11111111…10000000…...
git-git命令汇总
1.git 存储永久凭据 git config --global credential.helper store 2.git 查询分支或标签的引用 git show-ref 【标签名|分支名】 3.git 搜索关键分支和tag git tag -l *branch* --sortcommitterdate 4.git 删除标签 git tag -d v1.32 删除标签v1.32,参数d…...
自定义实现简易版ArrayList
文章目录 1.了解什么是顺序表2.实现哪些功能3.初始化ArrayList4.实现功能接口遍历顺序表判断顺序表是否已满添加元素指定下标添加元素自定义下标不合法异常判断顺序表是否为空查找指定元素是否存在查找指定元素返回下标获取指定下标的元素顺序表为空异常修改指定下标元素的值删…...
React中的Hooks--useReducer()
首先,useReducer是React提供的一个钩子函数,用于管理组件内部的状态。它可以接收一个reducer函数和初始状态,并返回一个包含状态和更新状态的函数的数组。 与之相反,Redux是一个独立的状态管理库,它可以在整个应用程序…...
DM@数理逻辑@命题公式及其赋值@真值表@公式分类
文章目录 abstract命题公式及其赋值命题常项命题变项 命题公式合式公式(命题公式)限定基本联结词的合适公式的定义合式公式中的0和1子公式 **公式的层次定义**分层加括号 命题公式的赋值和解释成真赋值成假赋值公式的书写规范括号的省略 真值表赋值方法数量构造真值表 公式分类…...
HTTP协议(超级详细)
HTTP协议介绍 基本介绍: HTTP:超文本传输协议,是从万维网服务器传输超文本到本地浏览器的传送协议HTTP是一种应用层协议,是基于TCP/IP通信协议来传送数据的,其中 HTTP1.0、HTTP1.1、HTTP2.0 均为 TCP 实现࿰…...
leetcode做题笔记135. 分发糖果
n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的…...
Oracle数据库体系结构(三)_逻辑结构
Oracle逻辑存储结构,主要描述oracle 数据库内部数据的组织和管理方式,即在数据库管理系统的层面中如何组织和管理数据,与操作系统没有关系。逻辑存储结构时候物理存储机构的抽象体现,是不可见的,可以通过查询数据库数据字典了解逻…...
在 Python 中计算两个 GPS 点之间的距离
计算两个 GPS 点之间的距离是我们可以在 Python 框架内操作的地理和数学练习。 现在让我们看看如何使用 Python 执行此操作。 在 Python 中使用 Haversine 公式计算两个 GPS 点之间的距离 haversine 公式是用 Python 计算两个 GPS 点之间距离的一种简化方法,但它的计算是基于…...
影刀RPA解决WPS不存在的问题
问题阐述 明明电脑上已经安装了WPS,但影刀程序还是提示没有安装的问题 解决办法 1.打开WPS并关闭所有其他网页 2. 配置与修复 3.开始修复 出现这个框,就要关闭WPS,否则无法执行,关闭WPS不影响其修复 4.等待修复完成即可...
vue动态路由切换刷新保留历史路由搜索条件数据
最近有客户反映我们系统按条件查询完列表进入详情页后再返回列表页时页面没有展示他查询的那条数据,而是进入页面一贯会展示按无条件查询的数据,希望我们能对列表做查询缓存,那咱们就用keep-alive来实现一下 AppMain.vue include 属性绑定一个…...
免费:CAD批量转PDF工具,附下载地址
分享一款CAD 批量转PDF、打印的工具插件。能自动识别图框大小、自动识别比例、自动编号命名。重点!重点!重点!自动将CAD的多张图纸一次性地、批量地转为PDF,或者打印。效果看下图: 适用环境: 32位系统 Auto…...
无涯教程-JavaScript - FACT函数
描述 The FACT function returns the factorial of a number. The factorial of a number is equal to 1*2*3*...* number. 语法 FACT (number)争论 Argument描述Required/OptionalNumberThe nonnegative number for which you want the f…...
UART 协议
文章目录 电气层硬件拓扑基本原理协议空闲位起始位数据位奇偶校验位无校验奇校验偶校验mark parityparity 停止位 波特率优缺点优点缺点 参考 UART(universal asynchronous receiver-transmitter) 通用异步收发器 分类特点导线2速度9600, 19200, 38400&…...
网站建站无锡/网络优化工程师是干什么的
质数定义:质数(prime number)又称素数。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。 示例解决方案1有很多方法可以解决这个问题,下面是一些例子:这是一个不同的功能分解来解决问题。 def get_numb…...
自己有网站怎么优化/如何推广一个网站
当前,新一轮科技革命和产业革命蓬勃兴起,大数据、云计算、人工智能等现代信息技术与经济社会深度融合,给各行各业带来了深刻的变革。 在2018(第三届)中国大数据产业生态大会上,工业和信息化部党组成员、总…...
wordpress一键分享代码/百度指数属于行业趋势及人群
string.Format("{0:0##.#0},14")"014.00"转载于:https://www.cnblogs.com/craig/archive/2010/04/14/1712002.html...
wordpress 获取时间/私人网站服务器
题目链接 长度为\(i\)的不降子序列个数是可以DP求的。 用\(f[i][j]\)表示长度为\(i\),结尾元素为\(a_j\)的不降子序列个数。转移为\(f[i][j]\sum f[i-1][k]\),其中\(k\)满足\(k<j\)且\(a_k\leq a_j\),可以用树状数组\(O(n^2\log n)\)解决。…...
备案上个人网站和企业网站的区别/学seo哪个培训好
OA实施方法论团队建设项目经理的人选要求是具备一定软件技术的、更强调非技术方面的顾问咨询、项目管理的综合素质很强的人才。有效控制项目质量、项目进度、带领团队成功完成项目实施,是九思软件项目经理的职责,而不是合同签订下来,派个会…...
企业网站报价方案模板/今日要闻 最新热点
最大子段和: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]a[i1]…a[j]的子段和的最大值当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]a[i1]…a[j…...