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.rhkb.cn/news/26533.html

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

相关文章

CentOS vs Ubuntu - 常用命令深度对比及最佳实践指南20250302

CentOS vs Ubuntu - 常用命令深度对比及最佳实践指南 引言 在 Linux 服务器操作系统领域,CentOS 和 Ubuntu 是广泛采用的发行版。它们在命令集、默认工具链及生态系统方面各有特点。本文深入剖析 CentOS 与 Ubuntu 在常用命令层面的异同,并结合实践案例…

Java并发编程之可见性、原子性和有序性

引言 CPU缓存与内存产生的一致性问题(可见性) CPU时间片切换产生的原子性问题 CPU指令编译优化产生的有序性问题 并发编程问题的根源 CPU、内存、I/O设备三者速度差异一直是 核心矛盾 三者速度差异可形象描述为:天上一天(CPU),地上一年(内存),地下十年(I/O) 根据木桶理…

【Maui】系统找不到指定的文件Xamarin.Android.Aapt2.targets

文章目录 前言一、问题描述二、解决方案三、软件开发(源码)四、项目展示 前言 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。 使用 .NET MAUI,可从单个共享代码库开发可在 And…

【STM32+cubemx】0024 HAL库开发:IAP(在应用编程)的实现

IAP在应用编程(In-Application Programming),指的是MCU在运行应用程序时,能接收新的烧写文件,并更新到自身的程序存储器中。即可以在应用程序运行时在线升级。 本节我们通过一个简单的例子,来实现STM32的IA…

【源码】【Java并发】【线程池】邀请您从0-1阅读ThreadPoolExecutor源码

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 📚欢迎订阅专栏…

【Linux第一弹】Linux基础指令(上)

目录 1.ls指令 1.1 ls使用实例 2.pwd指令 3.cd指令 3.1 cd使用实例 4.touch指令 4.1touch使用实例 5.mkdir指令 5.1mkdir使用实例 6.rmdir指令和rm指令 6.1 rmdir指令使用实例->: 6.2 rm指令使用实例 7.man指令 8.cp指令 8.1 cp 使用实例 9.mv指令 9.1mv使用…

智能合约安全 | 合约无效化攻击

目录: 智能合约安全 合约无效化攻击 合约自毁函数 selfdestruct 攻击实现 漏洞防御 总结 智能合约安全 合约无效化攻击 合约无效化攻击类同于web安全中的逻辑漏洞中的一种 我们这里拿一个典型的例子来讲解 有这样一份智能合约, 每个人可以向其中发送1 eth 第七个…

蓝桥 发现环

0发现环 - 蓝桥云课 找到环 不过在最近一次维护网络时,管理员误操作使得某两台电脑之间增加了一条数据链接,于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路径,使得这些电脑上的数据传输出现了BUG。 为了恢复正常传输&am…

weaviate 安装与测试

weaviate 安装 前提条件:docker安装完成 步骤: 开启docker 在终端运行命令 docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:1.29.0 weaviate 测试 python-client安装代码测试 import weaviate client weaviat…

SpringBoot原理-02.自动配置-概述

一.自动配置 所谓自动配置,就是Spring容器启动后,一些配置类、bean对象就自动存入了IOC容器当中,而不需要我们手动声明,直接从IOC容器中引入即可。省去了繁琐的配置操作。 我们可以首先将spring项目启动起来,里面有一…

内容中台与企业内容管理架构解析

内容中台技术架构解析 内容中台的技术架构以数据资产化和服务API化为核心,通过解耦内容生产与消费环节构建数字化基础设施。其架构通常包含统一内容池、智能处理引擎和开放接口层三大模块:统一内容池通过标准化元数据模型对多源异构内容进行结构化存储&…

DeepSeek开源周Day2:DeepEP - 专为 MoE 模型设计的超高效 GPU 通信库

项目地址:https://github.com/deepseek-ai/DeepEP 开源日历:2025-02-24起 每日9AM(北京时间)更新,持续五天 (2/5)! ​ ​ 引言 在大模型训练中,混合专家模型(Mixture-of-Experts, MoE)因其动…

密码学(哈希函数)

4.1 Hash函数与数据完整性 数据完整性: 检测传输消息(加密或未加密)的修改。 密码学Hash函数: 构建某些数据的简短“指纹”;如果数据被篡改,则该指纹(以高概率)不再有效。Hash函数…

网络流算法: Edmonds-Karp算法

图论相关帖子 基本概念图的表示: 邻接矩阵和邻接表图的遍历: 深度优先与广度优先拓扑排序图的最短路径:Dijkstra算法和Bellman-Ford算法最小生成树二分图多源最短路径强连通分量欧拉回路和汉密尔顿回路网络流算法: Edmonds-Karp算法网络流算法: Dinic算法 环境要求 本文所用…

R语言+AI提示词:贝叶斯广义线性混合效应模型GLMM生物学Meta分析

全文链接:https://tecdat.cn/?p40797 本文旨在帮助0基础或只有简单编程基础的研究学者,通过 AI 的提示词工程,使用 R 语言完成元分析,包括数据处理、模型构建、评估以及结果解读等步骤(点击文末“阅读原文”获取完整代…

深度学习简介

目录 一、剖析,什么是深度学习?二、深度学习人工神经网络、机器学习、人工智能关系三、深度学习的发展3.1 从感知机到人工神经网络1. 早期发展2. 陷入低谷3. 短暂复兴4. 再次受挫5. 深度突破 3.2 深度学习时代1. 语音领域突破2. 大规模图像数据库3. Alex…

进行性核上性麻痹患者的生活护理指南

进行性核上性麻痹是一种神经系统退行性疾病,合理的生活护理能有效改善症状,提高生活质量。 居家环境要安全。移除地面杂物,铺设防滑垫,安装扶手,降低跌倒风险。在浴室、厨房等湿滑区域要特别加强防护措施。建议在床边、…

【数据结构】链表与顺序表的比较

链表和顺序表是两种常见的数据结构,各有优缺点,适用于不同的场景。 ### 顺序表(数组) 顺序表在内存中连续存储元素,支持随机访问。 **优点:** 1. **随机访问**:通过索引直接访问元素&#xf…

osgEarth安装总结

第一步:安装OSG 直接通过git下载源码,使用cmake进行编译, git clone --depth 1 https://github.com/openscenegraph/OpenSceneGraph.git mkdir build cd build cmake .. make sudo make isntall编译过程中缺什么库,就安装什么库 …

网络安全-使用DeepSeek来获取sqlmap的攻击payload

文章目录 概述DeepSeek使用创建示例数据库创建API测试sqlmap部分日志参考 概述 今天来使用DeepSeek做安全测试,看看在有思路的情况下实现的快不快。 DeepSeek使用 我有一个思路,想要测试sqlmap工具如何dump数据库的: 连接mysql数据库&#…