Ubuntu安装深度学习环境相关(yolov8-python部署)
Ubuntu安装深度学习环境相关(yolov8-python部署)
-
本文将从如下几个方面总结相关的工作过程:
-
- Ubuntu系统安装(联想小新pro16)
- 2.显卡驱动安装
- 3.测试深度学习模型
-
1. Ubunut 系统安装
-
之前在台式机上安装过Ubuntu,以为再在笔记本上安装会是小菜一碟,但没想还是废了一些功夫。
-
安装所需要的步骤:
- 1.电脑分盘:Windows下右键开始,选择磁盘管理,我的是在F盘分出了80G
- 2.在- 官网 -下载Ubuntu系统并通过U盘制作启动盘:

- 在- rufus -下载启动盘制作工具:

- 点击开始进行制作

- 我的电脑是联想小新,按下开机建后,同时连续多次按Fn+F2,进入BIOS界面,将Secure Boot关闭,保存更改退出,关机重启
- 插入U盘启动盘,按下开机键,连续按下F12,选择U盘对应的系统进行安装,选择中文语言,正常下一步,常规安装至结束,中间正常设置账户密码等。
-
设置中也可以设置输入法:

-
如果桌面字体太小可以通过改变分辨率进行调整:
- 打开软件与更新设置国内源

-
如果系统安装过程最后提示磁盘没有访问权限,需要解密,则需要回到windows下对磁盘进行解密,即通过命令行关闭Bitlocker:
-
cmd中输入以下命令关闭
manage-bde -off C: -
但是有时候出现如下提示:

此时需要先执行如下命令:(系统分区不是C的话更改下面的盘符)
manage-bde -autounlock -ClearAllKeys c:
然后再执行即可
manage-bde -off C:
提示解密进行中,需要一定的时间:

解密后所在分区就没有锁子图标了

2.显卡驱动安装
- 我的显卡是RTX3050,但是我根据网上的一些信息通过
软件与更新或者sudo apt命令进行下载驱动程序都提示连接不上NVIDIA,后来查了一下说需要先禁用系统自带的驱动程序 Nouveau - 查看是否安装NVIDIA驱动命令:
nvidia-smi


2.1 禁用 nouveau
- a. 运行如下指令,查看系统是否启用了nouveau显卡驱动
lsmod | grep nouveau
如果有内容输出,则说明nouveau已被启用,需要执行后续从b.开始的步骤以将nouveau禁用;如果没有内容输出,则可以直接安装nvidia驱动。
- b. 修改blacklist.conf配置
blacklist.conf文件的位置:
/etc/modprobe.d/blacklist.conf
不管是通过vi、vim,还是直接修改,选择一种即可,本文采用直接修改的方法进行后续步骤。
Ctrl+Alt+T打开一个新的命令行窗口,通过如下指令切换到blacklist.conf文件所在的目录:
cd ../../etc/modprobe.d
.conf文件的修改需要管理员权限,需要sudo,通过执行如下指令直接对记事本文件进行修改:
sudo gedit blacklist.conf
在该文件最后插入以下两行内容:
blacklist nouveau
options nouveau modeset=0
最终效果如图所示:
保存并关闭该文件。
- c. 更新系统
通过如下命令更新系统,使刚刚修改的文件生效:
sudo update-initramfs -u
- d. 重启系统
重新启动系统,可以通过图形界面直接重启,也可以通过命令行重启。本文通过命令行重新启动,在任意命令行中输入如下命令:
reboot
等待系统重启完成。
- e. 验证nouveau是否已禁用
再次通过如下命令,查看是否有输出:
lsmod | grep nouveau
此时,命令行输出为空,如下图所示。
说明nouveau显卡驱动已被禁用,此时可以安装nvidia显卡驱动。
2.2 安装NVIDIA驱动
- 官网搜索驱动程序下载:https://www.nvidia.cn/Download/index.aspx?lang=cn

- 进入下载文件夹,打开命令行窗口:

- 首先通过如下命令获取该.run文件的执行权限,不然就算下面加了sudo也执行不了。
chmod +x NVIDIA-Linux-x86_64-535.54.03.run
- 通过如下命令运行下载好的.run文件:
sudo ./NVIDIA-Linux-x86_64-535.54.03.run
注意
“./”后的文件名需要换成在Step 1中根据自己电脑下载的驱动的名称!
安装过程中提示的东西全部安装即可!
遇到的小问题
报错“you appear to be running an x server; please exit x before installing.”
解决方法:在运行命令后加上 --no-x-check
加上之后的命令最终为:
sudo ./NVIDIAxxxx.run --no-x-check
- 最后执行以下命令看是否安装成功:
nvidia-smi

3.测试深度学习模型
3.1 安装anaconda
- 清华镜像官网Anaconda下载,我选择的是这个:
- 下载文件夹打开终端窗口,输入如下命令进行安装,一路yes即可:
bash Anaconda3-2022.05-Linux-x86_64.sh

3.2 搭建虚拟环境
#新建虚拟环境
conda create yolov8 python=3.8
pip install ultralytics#激活虚拟环境
conda activate yolov8#推理:
yolo predict model=yolov8n.pt source=./ultralytics/assets/bus.jpg

搞定:

参考:
1. 联想win10安装ubuntu20.04双系统
2.通过命令行关闭Bitlocker
3.Ubuntu安装Nvidia显卡驱动
4.Ubuntu安装Anaconda详细步骤
相关文章:
Ubuntu安装深度学习环境相关(yolov8-python部署)
Ubuntu安装深度学习环境相关(yolov8-python部署) 本文将从如下几个方面总结相关的工作过程: Ubuntu系统安装(联想小新pro16) 2.显卡驱动安装3.测试深度学习模型 1. Ubunut 系统安装 之前在台式机上安装过Ubuntu,以为再在笔记本上安装会是小菜一碟&…...
jmeter采集ELK平台海量业务日志( 采用Scroll)
由于性能测试需要,需采集某业务系统海量日志(百万以上)来使用。但Elasticsearch的结果分页size单次最大为10000(运维同事为保证ES安全)。为了能够快速采集ELK平台业务日志,可以使用以下2种方式采集…...
React 全栈体系(五)
第三章:React 应用(基于 React 脚手架) 一、使用 create-react-app 创建 react 应用 1. react 脚手架 xxx 脚手架: 用来帮助程序员快速创建一个基于 xxx 库的模板项目 包含了所有需要的配置(语法检查、jsx 编译、devServer…)下载好了所有…...
动态规划——状态机模型
什么是状态机模型?其实大部分dp问题都可以算是状态机,因为对于一个物品,例如01背包,无非是选与不选两种状态,这两种状态就构成了一个状态机。状态机就是一种用来描述对象或者系统在不同状态之间迁移的模型。 那么状态机…...
合宙Air724UG LuatOS-Air LVGL API控件-图片(Gif)
图片(Gif) GIF图片显示,core版本号要>3211 示例代码 方法一 -- 创建GIF图片控件 glvgl.gif_create(lvgl.scr_act()) -- 设置显示的GIF图像 lvgl.gif_set_src(g,"/lua/test.gif") -- gif图片居中 lvgl.obj_align(g, nil, lvgl…...
【C语言】指针和数组笔试题解析(2)
【C语言】指针和数组笔试题解析(1), 这是第一篇关于sizeof与strlen在指针中的应用,而这一篇主要讲解在各种情形下的灵活运用,也是大厂中经典的面试题 第一题: int main() {int a[5] { 1, 2, 3, 4, 5 };in…...
3.3 DLL注入:突破会话0强力注入
Session是Windows系统的一个安全特性,该特性引入了针对用户体验提高的安全机制,即拆分Session 0和用户会话,这种拆分Session 0和Session 1的机制对于提高安全性非常有用,这是因为将桌面服务进程,驱动程序以及其他系统级…...
C语言 —— 初步入门知识(内存、指针、结构体)
本篇文章将接着上篇继续介绍C语言的基础知识,那么对于C语言大部分初学者会觉得难以理解, 所以作者将指针单独拿出来写篇较短的文章进行讲解。 1.指针 1.1 内存 要学习指针,就先要了解内存。一起来看。 内存是计算机中的关键组成部分ÿ…...
PHP8中字符串与数组的转换-PHP8知识详解
在php8中使用explode()函数和implode()函数实现字符串和数组之间的转换。 1、使用explode()函数把字符串按照一定的规则拆分为数组中的元素,并且形成数组。 使用explode()函数把字符串转换数组,示范代码: <?php $string "html,cs…...
Wordtune:文本编辑工具
【产品介绍】 名称 Wordtune 上线时间 成立于2018年。 具体描述 Wordtune是一款基于人类智能的文本编辑工具,它可以帮助用户快速修改和重写英文,以改进文本的清晰度、流畅度和可读性。Wordtune使用先进的自然语言处理技术&#x…...
notifyIcon动态图标
定时器内调用下面代码 代码如下: if(DateTime.Now.Second % 2 0) {notifyIcon1.Icon new System.Drawing.Icon(Application.StartupPath "\abc.ico");}else{notifyIcon1.Icon new System.Drawing.Icon(Application.StartupPath "\abc2.ico"…...
2023年墨西哥 SP/BMV IPC 研究报告
第一章 指数概况 1.1 指数基本情况 墨西哥 S&P/BMV IPC 指数衡量在墨西哥证券交易所 (Bolsa Mexicana de Valores, BMV)上市,规模最大、流动性最高的股票表现。提供一个覆盖墨西哥股市的广泛、具有代表性且可轻易复制的指数。根据多元化要求,按市值…...
JWT生成与解析/JWT令牌前端存储
第一步:创建项目 添加Maven依赖: <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version> </dependency> <dependency><groupId>org.s…...
[交互]前端展示服务端获取的图片
可以通过以下步骤从服务端获取图片: 引入axios库:在前端代码中使用axios库来发送HTTP请求。可以通过以下方式引入axios: import axios from axios;发送请求:使用axios发送HTTP请求,获取图片文件的二进制数据。发送请求…...
LeetCode2.两数相加
一看完题,我的想法是先算出这两个链表表示的数,然后相加,然后把这个数一位一位的分配给第三个数组,这种方法应该很简单但是要遍历三次数组,于是我就想直接一遍遍历,两个链表同时往后面遍历,把这…...
Linux编译过程与交叉编译
一.GCC由来 GCC(GNU编译器套件)是一个自由开源的编程工具集,用于编译和链接C、C和其他编程语言的程序。它由理查德斯托曼(Richard Stallman)和其他自由软件基金会(Free Software Foundation)的…...
MediaPipe+OpenCV 实现实时手势识别(附Python源码)
MediaPipe官网:https://developers.google.com/mediapipe MediaPipe仓库:https://github.com/google/mediapipe 一、MediaPipe介绍 MediaPipe 是一个由 Google 开发的开源跨平台机器学习框架,用于构建视觉和感知应用程序。它提供了一系列预训…...
为什么选择C/C++内存检测工具AddressSanitizer?如何使用AddressSanitizer?
目录 1、C程序中的内存问题 2、AddressSanitizer是什么? 3、AddressSanitizer内存检测原理简述 3.1、内存映射 3.2、插桩 4、为什么选择AddressSanitizer? 4.1、Valgrind介绍 4.2、AddressSanitizer在速度和内存方面为什么明显优于Valgrind 4.3…...
获取vue当前页面url问号后面的参数
除了使用 window.location.search 或 Vue Router 的 $route.query 来获取 URL 问号后面的参数之外,您还可以使用 JavaScript 中的正则表达式来解析 URL 中的参数部分。以下是一个示例: // 获取当前页面的完整 URL const currentURL window.location.hre…...
Linux编程之线程池的设计与实现
Linux编程之线程池的设计与实现(C98) 代码 假设服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是空间换时间, 即“浪费”服务器的硬件资源,以换取其运行效率。 提升服务器性能的一个重要方法就是…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
