当前位置: 首页 > news >正文

Ubuntu安装深度学习环境相关(yolov8-python部署)

Ubuntu安装深度学习环境相关(yolov8-python部署)

  • 本文将从如下几个方面总结相关的工作过程:

      1. 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种方式采集&#xf…...

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 内存 要学习指针,就先要了解内存。一起来看。 内存是计算机中的关键组成部分&#xff…...

PHP8中字符串与数组的转换-PHP8知识详解

在php8中使用explode()函数和implode()函数实现字符串和数组之间的转换。 1、使用explode()函数把字符串按照一定的规则拆分为数组中的元素&#xff0c;并且形成数组。 使用explode()函数把字符串转换数组&#xff0c;示范代码&#xff1a; <?php $string "html,cs…...

Wordtune:文本编辑工具

【产品介绍】 名称 Wordtune 上线时间 成立于2018年。​ 具体描述 Wordtune是一款基于人类智能的文本编辑工具&#xff0c;它可以帮助用户快速修改和重写英文&#xff0c;以改进文本的清晰度、流畅度和可读性。Wordtune使用先进的自然语言处理技术&#x…...

notifyIcon动态图标

定时器内调用下面代码 代码如下&#xff1a; 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)上市&#xff0c;规模最大、流动性最高的股票表现。提供一个覆盖墨西哥股市的广泛、具有代表性且可轻易复制的指数。根据多元化要求&#xff0c;按市值…...

JWT生成与解析/JWT令牌前端存储

第一步&#xff1a;创建项目 添加Maven依赖&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version> </dependency> <dependency><groupId>org.s…...

[交互]前端展示服务端获取的图片

可以通过以下步骤从服务端获取图片&#xff1a; 引入axios库&#xff1a;在前端代码中使用axios库来发送HTTP请求。可以通过以下方式引入axios&#xff1a; import axios from axios;发送请求&#xff1a;使用axios发送HTTP请求&#xff0c;获取图片文件的二进制数据。发送请求…...

LeetCode2.两数相加

一看完题&#xff0c;我的想法是先算出这两个链表表示的数&#xff0c;然后相加&#xff0c;然后把这个数一位一位的分配给第三个数组&#xff0c;这种方法应该很简单但是要遍历三次数组&#xff0c;于是我就想直接一遍遍历&#xff0c;两个链表同时往后面遍历&#xff0c;把这…...

Linux编译过程与交叉编译

一.GCC由来 GCC&#xff08;GNU编译器套件&#xff09;是一个自由开源的编程工具集&#xff0c;用于编译和链接C、C和其他编程语言的程序。它由理查德斯托曼&#xff08;Richard Stallman&#xff09;和其他自由软件基金会&#xff08;Free Software Foundation&#xff09;的…...

MediaPipe+OpenCV 实现实时手势识别(附Python源码)

MediaPipe官网&#xff1a;https://developers.google.com/mediapipe MediaPipe仓库&#xff1a;https://github.com/google/mediapipe 一、MediaPipe介绍 MediaPipe 是一个由 Google 开发的开源跨平台机器学习框架&#xff0c;用于构建视觉和感知应用程序。它提供了一系列预训…...

为什么选择C/C++内存检测工具AddressSanitizer?如何使用AddressSanitizer?

目录 1、C程序中的内存问题 2、AddressSanitizer是什么&#xff1f; 3、AddressSanitizer内存检测原理简述 3.1、内存映射 3.2、插桩 4、为什么选择AddressSanitizer&#xff1f; 4.1、Valgrind介绍 4.2、AddressSanitizer在速度和内存方面为什么明显优于Valgrind 4.3…...

获取vue当前页面url问号后面的参数

除了使用 window.location.search 或 Vue Router 的 $route.query 来获取 URL 问号后面的参数之外&#xff0c;您还可以使用 JavaScript 中的正则表达式来解析 URL 中的参数部分。以下是一个示例&#xff1a; // 获取当前页面的完整 URL const currentURL window.location.hre…...

Linux编程之线程池的设计与实现

Linux编程之线程池的设计与实现&#xff08;C98&#xff09; 代码 假设服务器的硬件资源“充裕”&#xff0c;那么提高服务器性能的一个很直接的方法就是空间换时间&#xff0c; 即“浪费”服务器的硬件资源&#xff0c;以换取其运行效率。 提升服务器性能的一个重要方法就是…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...