✅步骤一:安装 PyTorch(M1 专用)

# 推荐使用官方 MPS 后端(Apple Metal 加速)

pip install torch torchvision torchaudio

确认是否使用了 Apple MPS:


import torch 
print(torch.backends.mps.is_available())

# True 表示支持


✅ 步骤二:安装 OpenCV(预编译版)

pip install opencv-python==4.8.0.76 

 

如仍失败,可以降级到更稳定的版本:

 


pip install opencv-python==4.6.0.66 

 

 

 


✅ 步骤三:安装 Ultralytics(YOLOv8)

这个会去依赖opencv

pip install ultralytics --no-binary opencv-python

或者,使用无依赖模式(跳过 OpenCV 的再次依赖):

pip install ultralytics --no-deps 

 


✅ 步骤四:验证安装


yolo version 

 

如果输出了版本号(如 Ultralytics YOLOv8.1.26 等)说明一切正常。

 


✅ 测试 YOLOv8 是否能跑起来

你可以运行一个简单的预测命令测试模型:

yolo task=detect mode=predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

这会下载一个图片并进行目标检测,自动弹出预测窗口(或保存预测图像)。

🔧 1、识别人物-整体流程总览

  1. 准备数据集(图像 + 标注)

  2. 数据集格式转换(转为 YOLO 格式)

  3. 安装 YOLOv8(ultralytics)

  4. 配置训练参数(模型、类别、路径)

  5. 开始训练

  6. 验证和测试

  7. 部署使用

🧩 2、每一步分模块详解


📁 1. 数据采集与标注(图像和标注文件)

需要采集图像并对目标进行手动标注

✅ 推荐免费标注工具(支持导出为 YOLO 格式):

工具名平台特点说明
LabelImgWindows / Mac / Linux本地运行,轻量,支持 Pascal VOC 和 YOLO 格式
Roboflow在线工具免费计划支持上传图像、标注、自动转换格式
LabelmePython 工具支持多边形标注,也可导出为 COCO 格式
CVAT在线部署或本地部署适合大规模标注,功能强大,支持团队协作

👉 建议初学者使用 LabelImgRoboflow,操作直观,输出格式直接支持 YOLO。

🔄 2. 转换数据集为 YOLO 格式

YOLO 格式标注样例如下(txt 文件):0 0.5 0.5 0.2 0.3

格式说明:

[class_id] [x_center] [y_center] [width] [height]

都是相对坐标(比例,相对于图片大小)。

如果你标注格式不是 YOLO,需要转换,比如从 VOC / COCO → YOLO,可以使用:

  • Roboflow 自动转换

  • labelme2yolo 工具

  • roboflow python 工具包

 

📁 3、 roboflow标注(图像和标注文件)

 

可以搜索教程怎么标记要训练的数据

✅ 3、开始训练识别和平精英人物识别

🔧 model.train() 常用参数解析

参数类型说明
datastr数据集配置文件路径(例如 data.yaml
epochsint训练轮数(epoch 数)
imgszinttuple输入图片尺寸,默认 640(可为整数或 (h,w) 元组)
batchint每批训练的图像数量,默认 16
deviceintstr使用的设备,例如 '0'(GPU0)、'cpu''0,1'
savebool是否保存模型(默认 True)
exist_okbool是否允许覆盖已有运行目录
resumebool是否从上次训练中断处恢复
patienceint如果验证指标在这么多 epoch 内不再提升,则提前停止训练(默认 50)
optimizerstr选择优化器:SGD、Adam、AdamW(默认 SGD)
lr0float初始学习率(默认 0.01)
lrffloat最终学习率与初始学习率的比值(默认 0.01)
momentumfloat动量参数(仅用于 SGD)
weight_decayfloat权重衰减(默认 0.0005)
workersint数据加载线程数(建议 0 或 2~8)
pretrainedboolstr使用预训练模型(True 或权重路径)
projectstr日志文件保存路径
namestr本次运行的名称,结果将保存在 runs/train/name/
verbosebool显示更多训练信息
seedint设置随机种子以保证复现性

 

📌 数据集配置文件(data.yaml)结构:


from ultralytics import YOLO# 加载模型
model = YOLO("/Users/lianying/Desktop/yolo/yolov8n.pt")  # 你的模型路径# 开始训练
model.train(data="/Users/lianying/Desktop/yolo/pubg mobile.v2i.yolov8/data.yaml",  # data.yaml路径epochs=2,imgsz=640
)

 在使用 YOLOv8(如 Ultralytics YOLOv8)训练模型后,输出目录(通常是 runs/detect/train)中会生成两个主要的模型文件:

best.pt

  • 含义:在训练过程中,在验证集上表现最好的模型(通常指 mAP 值最高)。

  • 用途:用于部署或实际推理时的首选模型。

  • 保存时机:每轮训练后都会验证一次性能,若当前 mAP 更优于之前所有轮次,就保存为 best.pt


last.pt

  • 含义训练最后一轮保存的模型。

  • 用途

    • 若训练中断,可以从 last.pt 恢复继续训练;

    • 如果对 best.pt 不满意,也可以尝试 last.pt


🛠 选择哪个用于推理?

文件名适用场景建议
best.pt精度优先的推理部署✅ 推荐使用
last.pt继续训练、对比测试可选(不推荐部署)

 

🛠 加载方式

使用 YOLO 类加载模型:

from ultralytics import YOLOmodel = YOLO("runs/detect/train/weights/best.pt")  # 加载最优模型

 

 

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

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

相关文章

【ArcGISPro】修改conda虚拟安装包路径

问题在ArcGISPro中经常使用克隆,导致C盘默认虚拟安装包内存越来越大,导致电脑很卡解决方案打开ArcGISPro所在conda文件夹D:\Program Files\ArcGIS\Pro\bin\Python\Scripts打开命令行工具(如 CMD 或终端)。输入以下命令&#xff0c…

三格电子—西门子PLC串口转网口模块

一、功能概述本文档是西门子PLC串口转以太网系列产品,包含SG-S7-200-ETH、S7-200-ETH(2P),SG-S7-300-ETH,SG-S7-300-ETH(2P)共四个产品。使用框图如下图所示意。1.1 产品功能本系列产品用来给西门子S7-200/300 PLC串口扩展出网口来&#xff0…

Python—requests模块

Python requests 模块代码演示 requests 是 Python 中一个简单易用的 HTTP 库,用于发送各种 HTTP 请求。下面是一些常见的使用示例: 1. 基本 GET 请求 import requests# 发送 GET 请求 response requests.get(https://api.github.com)# 检查请求是否成功…

华为仓颉编程语言语法简介与示例

华为仓颉编程语言语法简介与示例 仓颉编程语言是华为自主研发的新一代通用编程语言,由南京大学冯新宇教授团队主导设计,于 2024 年华为开发者大会(HDC)正式发布,并在 2025 年 7 月推出首个长期支持版本(LTS…

触发器的创建

- 建立product表,操作方式operate表要求1.定义触发器实现在产品表(product)中每多一个产品,就在操作表(operate)中记录操作方式和时间以及编号记录。注:操作说明:标记执行delete 、insert、update2.定义触发器实现在产品表(product)中每更新一…

论文略读: RASA: RANK-SHARING LOW-RANK ADAPTATION

ICLR 2025尽管 LoRA 有诸多优势,但近期研究表明,它在大规模训练数据集和复杂任务(如数学推理和代码生成)中,仍然落后于全参数微调(FFT)一个合理的解释是:低秩约束限制了 LoRA 的表达…

VSCode - VSCode 查找中文字符

VSCode 查找中文字符 1、查找中文字符使用快捷键 Ctrl F 打开查找框点击正则表达式按钮 .*在搜索框中输入 [\u4e00-\u9fa5],这个范围涵盖了基本的中文字符2、查找中文字符串使用快捷键 Ctrl F 打开查找框点击正则表达式按钮 .*在搜索框中输入 [\u4e00-\u9fa5]&a…

SQL基础操作指南:增删改查入门

前言 在日常数据库操作中,掌握增删查改是每个开发者必备的技能。下面我将通过实例解析SQL的核心操作要点,帮你避开常见陷阱。一、新增数据(INSERT) 单行插入:明确指定字段和值 INSERT INTO 表名(字段1, 字段2) VALUES …

Linux系统安装Docker及部署Node.js 20.15.0(含pnpm、pm2)完整指南

前言:在应用项目部署中,“环境不一致”往往是开发与运维的痛点——本地能跑的代码到了服务器就报错,依赖版本、系统配置差异都可能成为隐患。而Docker的容器化技术恰好能解决这一问题,通过“一次构建,到处运行”的特性…

python的多线程无法并行只能并发,why?

标题python的多线程无法并行只能并发,why?python的多线程无法并行只能并发,why? 在 Python 中,特别是使用 CPython 解释器时,由于存在 全局解释器锁(GIL),即使在多核处理…

Kotlin比较接口

在 Kotlin 中,Comparable 和 Comparator 是两个允许开发者对相同或不同类的对象进行比较的接口。这两个接口通常用于基于一个或多个属性对对象集合进行排序与排序操作。本文将概述 Kotlin 的 Comparable 和 Comparator 接口,解释它们的用法,并…

day41 简单CNN

DAY 41 首先回顾下昨天的代码。 # import torch # import torch.nn as nn # import torch.optim as optim # from torchvision import datasets, transforms # from torch.utils.data import DataLoader # import matplotlib.pyplot as plt # import numpy as np# # 设置中文字…

[实战]巴特沃斯滤波器全流程解析:从数学原理到硬件实现

巴特沃斯滤波器全流程解析:从数学原理到硬件实现 文章目录巴特沃斯滤波器全流程解析:从数学原理到硬件实现1. 数学原理2. 工程实现梯形网络结构3. Python理论仿真4. 硬件仿真与PCB考虑5. 完整设计工具6. 输出结果示例7. 设计注意事项巴特沃斯滤波器是特别…

《机器学习数学基础》补充资料:标准差与标准化

1 标准差 我们经常使用平均数来大致了解一组数据,例如平均成绩、平均身高、平均寿命等等。但是如果只看平均数,不一定能充分了解整体情况。比如说你和某首富住同一个社区,你们社区平均每户年收入两千万,那么你家是有钱还是没钱&am…

深度学习 | 多类交叉熵(Categorical Cross Entropy)详解 + Python实现

在多分类任务中,模型输出一个概率分布,常用的损失函数是 Categorical Cross Entropy(多类交叉熵)。本文将带你理解其数学本质、应用场景、数值稳定性及完整 Python 实现。📘 一、什么是 Categorical Cross Entropy&…

MyBatis-Plus通用中等、大量数据分批查询和处理

函数式接口 获取分页数据接口 主要用于获取数据 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;FunctionalInterface public interface MyBatisPlusPageFunctionInterface<T> {Page<T> selectPage(Page<T> page);}数据处理接口 import…

Ps 2025安装包(Adobe Photoshop 2025)安装包免费免激活版下载 附图文详细安装教程

[软件名称]&#xff1a;Ps2025 V26.3 [软件大小]&#xff1a;4.86 G [系统要求]&#xff1a;支持Win7及更高版本 [夸克网盘下载https://pan.quark.cn/s/d35677af9ef9 &#xff08;建议用手机保存到网盘后&#xff0c;再用电脑下载&#xff09;更多免费软件见https://docs.qq.co…

Codeforces Round 1037 (Div. 3)(补题)

文章目录前言A.Only One DigitB.No Casino in the MountainsC. I Will Definitely Make ItD.This Is the Last TimeE.G-C-D, Unlucky!总结前言 感觉前四道&#xff0c;就是考对于题目的理解能力&#xff0c;以及自己的模拟能力 A.Only One Digit 题目传送门&#xff1a;Only …

基于单片机智能插座设计/智能开关

传送门 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目速选一览表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目功能速览 概述 随着我国的电子计算机技术的快速发展以及居民对现实生活的要求也在不断提升&#xff0c;所以很多…

[Linux]git_gdb

一、git1. git 常用指令git status 查看仓库状态git add <文件名> 把文件添加到仓库暂存区git commit -m "信息" 把文件加入仓库git push 把本地仓库同步到远端git pull …