yolov8,yolo11,yolo12 服务器训练到部署全流程 笔记

正在进行中,随时更新

一. Anaconda配置

 1.安装anaconda

(1)下载.sh文件

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

(2)scp到服务器后,运行安装包

bash Anaconda3-2020.07-Linux-x86_64.sh 

(3)安装anaconda

1.回车进入注册界面(q键跳过阅读)

2.yes

3.设置安装路径,选择默认就直接回车

4.Do you wish the installer to initialize Anaconda3 by running conda init ?

您是否希望安装程序通过运行 conda init 来初始化 Anaconda3?--yes 

(4)修改环境变量,并验证安装

vim ~/.bashrcexport PATH="/home/username/anaconda3/bin:$PATH"source ~/.bashrcconda --version

常用conda指令 

#创建
conda create -n your_env_name python=3.8#激活
source activate your_env_name#退出
source deactivate your_env_name#删除
conda remove -n your_env_name --all#安装包
conda install package_name(包名)
conda install scrapy==1.3 # 安装指定版本的包
conda install -n 环境名 包名 # 在conda指定的某个环境中安装包#查看当前存在哪些虚拟环境
conda env list 

二. yolov8、yolo11、yolo12 区别

YOLO11与YOLOv8差异可以由图中得

横坐标:处理一张图像的速度快慢(Latency),单位ms

纵坐标:COCO数据集上的平均精度(mAP),范围从0.50到0.95,越高表示模型的检测精度越好

曲线越靠右上,表示模型在保持较低Latency的同时,能够达到更高的mAP,性能越好。

1.YOLO11 改进及优劣

1.针对现代 GPU 优化训练和推理,训练速度提升 25%,延迟降低(如 Nano 模型延迟从 1.84ms 降至 1.55ms)

2.新增旋转边界框(OBB)、姿态估计等专用模型(后缀如 -obb-pose

3.通过架构优化减少参数数量,保持精度同时提升效率

优势

  • 高推理效率,尤其在 GPU 上表现出色,适合实时高负载场景
  • 模型压缩技术成熟,适合资源受限的嵌入式设备

劣势

  • 超大模型(如 YOLOv11x)的延迟反而增加(11.31ms vs YOLOv10x 的 10.70ms)
  • 对自定义数据集的迁移学习效果略逊于 YOLOv8(mAP 差距约 0.5)

  • YOLOv8:追求高精度和复杂任务(如实例分割、姿态估计),硬件资源充足

  • YOLOv11:需要低延迟、高吞吐量的实时应用(如工业检测、移动端部署),或需处理旋转目标

三. yolov8n-seg

官方文档:YOLOv8 -Ultralytics YOLO 文档

1. yolov8环境配置

创建yolov8 conda 虚拟环境,在虚拟环境中

# 安装YOLOv8,直接使用命令安装
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple# 或者通过拉取仓库然后安装
git clone https://github.com/ultralytics/ultralytics
cd ultralytics
pip install -e .

2. 训练

参考官方说明文档

https://docs.ultralytics.com/modes/train/#arguments

四. yolo11

1. yolo11 介绍

Ultralytics YOLO11 是新一代计算机视觉模型, 在目标检测、实例分割、图像分类、姿势估计、定向物体检测和对象跟踪等计算机视觉任务上展现了卓越的性能和准确性。

整体上yolo11相较于yolov8变化不大, 主要的改变有加入多头注意力机制,分类检测头加入深度可分离卷积等等,在性能和准确度上相对于yolov8有显著提升。

官方文档:YOLO11 🚀 新 -Ultralytics YOLO 文档

2. yolo11 模型训练

2.1 yolov11 工程及环境配置

conda create -n yolo11 python=3.8
conda activate yolo11# 配置pip源(可选)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/# 安装
pip install ultralytics# 或者
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e .# 检测版本
(yolo11) yolo version
8.3.29

安装完成后,为了转onnx模型和更好的训练,建议再配置如下几个库,可以参考官方项目中的requirement.txt文件。

pip install tensorboard==2.13.0 onnx==1.12.0 onnxsim==0.4.1 pycocotools==2.0.6 -i https://pypi.tuna.tsinghua.edu.cn/simple/

2.2 训练yolo11

进行模型推理测试:

yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'

会自动下载模型权重及测试图片。结果保存在runs/detect/predict目录下。

训练自己的数据集需要分别配置以下内容:

1)yaml模型文件

位于:./yolo11/ultralytics/ultralytics/cfg/models/11。

需要创建一个根据自己需要的yaml文件:yolo11-seg_1class.yaml

将类别修改为1。便于部署。

2)预训练模型(可以用默认文件,自动下载)

默认model=yolo11n.pt

3)训练数据和参数

在./yolo11/ultralytics/ultralytics/cfg/datasets路径下,参考coco128.yaml文件,制作一个单一类别的参数文件。需要更改类别名和训练数据路径。

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license# COCO128 dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco128.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco128  ← downloads here (7 MB)# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: /home/username/datase
train: images/train  # train images (relative to 'path') 128 images
val: images/val  # val images (relative to 'path') 128 images
test: # test images (optional)# Classes
names:0: qrcode

在./yolo11/ultralytics/ultralytics路径下新建一个mytrain_1c_detect.py文件。

设置输入模型的图像大小

from ultralytics import YOLOmodel = YOLO('./ultralytics/cfg/models/11/yolo11-seg_1class.yaml').load('./yolo11n.pt')  # build from YAML and transfer weights
results = model.train(data='./ultralytics/cfg/datasets/charge-seg.yaml', epochs=200, batch=128, imgsz=512, device=0, project='grassDetect')

在终端中运行:

python mytrain_1c_detect.py 

2.3 模型转换

导出为onnx格式模型 

模型导出使用专门针对rknn优化的 ultralytics_yolo11 。 该工程在基于不影响输出结果, 不需要重新训练模型的条件下, 有以下改动:

  • 修改输出结构, 移除后处理结构(后处理结果对于量化不友好);

  • dfl 结构在 NPU 处理上性能不佳,移至模型外部的后处理阶段,此操作大部分情况下可提升推理性能;

  • 模型输出分支新增置信度的总和,用于后处理阶段加速阈值筛选。

git clone https://github.com/airockchip/ultralytics_yolo11.git# 修改 ./ultralytics/cfg/default.yaml中model文件路径,默认为yolo11n.pt# 导出onnx模型
export PYTHONPATH=./
python ./ultralytics/engine/exporter.py

导出的onnx模型会在同目录下,使用 netron 查看其模型输入输出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/71044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始开发纯血鸿蒙应用之语音朗读

从零开始开发纯血鸿蒙应用 〇、前言一、API 选型1、基本情况2、认识TextToSpeechEngine 二、功能集成实践1、改造右上角菜单2、实现语音播报功能2.1、语音引擎的获取和关闭2.2、设置待播报文本2.3、speak 目标文本2.4、设置语音回调 三、总结 〇、前言 中华汉字洋洋洒洒何其多…

【AGI】DeepSeek开源周:The whale is making waves!

DeepSeek开源周:The whale is making waves! 思维火花引言一、DeepSeek模型体系的技术演进1. 通用语言模型:DeepSeek-V3系列2. 推理优化模型:DeepSeek-R1系列3. 多模态模型:Janus系列 二、开源周三大工具库的技术解析1…

25年前端如何走的更稳

2025年,随着deepseek引起的AI大模型技术的深度革命,带来了很多机会和挑战,前端程序员作为互联网里一个普通但必不可少的岗位,在当前形势下,需要主动变革才能走的更稳。本文简单介绍三个方向,Web3前端、全栈…

DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順

DockerでOracle Database 23c FreeをセットアップしMAX_STRING_SIZEを拡張する手順 はじめに環境準備ディレクトリ作成Dockerコンテナ起動 データベース設定変更コンテナ内でSQL*Plus起動PDB操作と文字列サイズ拡張設定検証 管理者ユーザー作成注意事項まとめ はじめに Oracle…

市场加速下跌,但监管「坚冰」正在消融

作者:Techub 热点速递 撰文:Yangz,Techub News 与近日气温逐步回暖不同,自 2 月 25 日比特币跌破 9 万美元以来,加密货币市场行情一路下滑。今日 10 时 50 分左右,比特币更是跌破 8 万美元大关&#xff0c…

【Android】安卓付款密码输入框、支付密码输入框

如图 代码部分&#xff1a; public class PayPasswordDialog extends AppCompatDialogFragment {private String mPayPass "";private String mTitle, mMoney;private final TextView[] mPayPassTextViewArray new TextView[6];private List<Integer> mPayP…

Java数据结构_一篇文章了解常用排序_8.1

本文所有排序举例均默认为升序排列。 目录 1. 常见的排序算法 2. 常见排序算法的实现 2.1 插入排序 2.1.1 基本思想&#xff1a; 2.1.2 直接插入排序 2.1.3 希尔排序&#xff08;缩小增量排序&#xff09; 2.2 选择排序 2.2.1 基本思想&#xff1a; 2.2.2 直接选择排…

性能调优篇——索引优化与执行计划解析

引言 当数据库表数据突破千万级时&#xff0c;一个未优化的索引可能让查询耗时从毫秒级暴增至分钟级。某电商平台曾因商品搜索接口的索引缺失&#xff0c;导致大促期间数据库CPU飙升至98%&#xff0c;直接引发服务雪崩。本文将深入B树索引的存储奥秘&#xff0c;详解慢查询日志…

计算机毕业设计SpringBoot+Vue.js人口老龄化社区服务与管理平台 (源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

C#上位机--三元运算符

引言 在 C# 上位机开发中&#xff0c;我们经常需要根据不同的条件来执行不同的操作。条件判断是编程中不可或缺的一部分&#xff0c;而三元运算符就是一种简洁而强大的条件判断工具。本文将详细介绍 C# 中的三元运算符&#xff0c;探讨其在上位机开发中的应用场景&#xff0c;…

AI时代保护自己的隐私

人工智能最重要的就是数据&#xff0c;让我们面对现实&#xff0c;大多数人都不知道他们每天要向人工智能提供多少数据。你输入的每条聊天记录&#xff0c;你发出的每条语音命令&#xff0c;人工智能生成的每张图片、电子邮件和文本。我建设了一个网站(haptool.com)&#xff0c…

Hutool - POI:让 Excel 与 Word 操作变得轻而易举

各位开发者们&#xff0c;在日常的 Java 开发工作里&#xff0c;处理 Excel 和 Word 文件是相当常见的需求。无论是从 Excel 里读取数据进行分析&#xff0c;还是将数据写入 Excel 生成报表&#xff0c;亦或是对 Word 文档进行内容编辑&#xff0c;传统的 Apache POI 库虽然功能…

数据库操作命令详解:CREATE、ALTER、DROP 的使用与实践

引言​ 数据库是存储和管理数据的核心工具&#xff0c;而 ​DDL&#xff08;Data Definition Language&#xff0c;数据定义语言&#xff09;​​ 是构建和调整数据库结构的基石。本文将通过实际示例&#xff0c;详细讲解 CREATE&#xff08;创建&#xff09;、ALTER&#xff0…

Asp.Net Core WebAPI开发教程(入门)

一、Asp.Net Core WebAPI项目创建 二、Asp.Net Core WebApi/Mvc路由定义 二、Asp.Net Core WebAPI 请求案例 Asp.Net WebApi Get请求整理&#xff08;一&#xff09; Asp.Net WebApi Post请求整理&#xff08;一&#xff09; Asp.Net WebApi Action命名中已‘Get’开头问题 …

VSCode大的JSON数据不能折叠问题

修改editor.foldingMaximumRegions为10000解决&#xff0c;默认只支持5000 在 VSCode 中&#xff0c;默认的 JSON 文件折叠功能对嵌套层级较深的数据支持有限。以下是几种解决嵌套 4 层以上数据无法折叠的方法&#xff1a; 1. 使用扩展插件 安装支持更复杂折叠功能的插件&am…

IPoIB源码深度解析:如何基于TCP/IP协议栈实现高性能InfiniBand通信

一、IPoIB的核心设计理念 IPoIB(IP over InfiniBand)是一种在InfiniBand网络上承载IP流量的技术,其核心目标是在不修改上层应用的前提下,利用InfiniBand的高带宽和低延迟特性。与自定义协议栈不同,IPoIB通过深度集成到Linux内核TCP/IP协议栈中,将InfiniBand设备抽象为标…

Vue学习教程-18Vue单文件组件

文章目录 前言一、单文件组件的构成二、组件引用三、组件的应用举例1.组件实例2.显示结果 前言 Vue 单文件组件&#xff08;又名 *.vue 文件&#xff0c;缩写为 SFC&#xff09;是一种特殊的文件格式&#xff0c;它允许将 Vue 组件的模板、逻辑 与 样式封装在单个文件中。组件…

掌握 findIndex、push 和 splice:打造微信小程序的灵活图片上传功能✨

文章目录 ✨ 掌握 findIndex、push 和 splice&#xff1a;打造微信小程序的灵活图片上传功能 &#x1f31f;示例场景&#xff1a;小程序图片上传&#x1f33c; 认识 findIndex定义语法在代码中的应用示例当前行为 &#x1f680; 认识 push定义语法在代码中的应用示例特点 ✂️ …

微服务即时通信系统---(七)文件管理子服务

目录 功能设计 模块划分 业务接口/功能示意图 服务实现流程 服务代码实现 封装文件操作模块(utils.hpp) 获取唯一标识ID 文件读操作 文件写操作 编写proto文件 文件元信息 文件管理proto 单文件上传 多文件上传 单文件下载 多文件下载 RPC调用 服务端创建子…

fluent-ffmpeg 依赖详解

fluent-ffmpeg 是一个用于在 Node.js 环境中与 FFmpeg 进行交互的强大库&#xff0c;它提供了流畅的 API 来执行各种音视频处理任务&#xff0c;如转码、剪辑、合并等。 一、安装 npm install fluent-ffmpeg二、基本使用 要使用 fluent-ffmpeg&#xff0c;首先需要确保系统中…