YOLOV5:在本地电脑训练模型
相关文章
一、Python入门环境配置:Anaconda3与pycharm安装教程
二、labelimg应用:数据集标记
三、Windows下搭建Pytorch环境(CPU 版)
四、Windows下搭建Pytorch环境(超详细)
目录
- 相关文章
- 一、YOLOV5环境搭建
- 二、数据集准备
- 三、配置文件
- 四、训练模型
- 五、测试模型
一、YOLOV5环境搭建
(官方要求:python>=3.6.0,pytorch>=1.7)
- YOLOV5 GitHub地址:https://github.com/ultralytics/yolov5
1、下载整个项目到本地桌面
2、【点击】
3、拉到页面最下面,下载模型文件 到yolov5 目录
4、安装yolov5所需要的库
方法一(此方法较慢):
右键
requirements.txt
【属性】,复制【位置】
快捷键:Ctrl + r 打开
cmd
,cd
到requirements.txt
所在的目录
输入
pip install -r requirements.txt
指令,然后等待安装即可
方法二(利用国内镜像源下载requirements.txt的所需库,速度较快):
同上,右键
requirements.txt
【属性】,复制【位置】cd
转到requirements.txt
目录
输入
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
,然后等待安装即可
二、数据集准备
在
YOLOv5目录
下 新建一个文件夹train_data
在
train_data
内再新建文件夹,结构如下:———— trian |———— images -| || ———— val train_data-| ———— train| |———— labels -|———— val
解释:
train_data\images\train
下存放训练集
train_data\images\val
下存放验证集
train_data\labels\train
下存放训练集的标签.txt
文件
train_data\labels\val
下存放验证集的标签.txt
文件
把你的搜集的全部图片数据集先放在 train_data\images\train
里面
用python脚本将图片 重命名 和 分割
在
train_data\images\
路径下 新建一个rename.py
(一定要放在此路径下)
把下面代码粘贴进去,运行代码
import os import random import shutilclass Dataset_split():def __init__(self):self.train_path= os.getcwd()+ r'/train/'self.val_path = os.getcwd()+ r'/val/'def split_train_val(self,train_ratio=0.8,val_ratio=0.2):"""数据集图片分割:param train_ratio: 训练集比例(可更改,默认0.8):param val_ratio: 验证集比例(可更改,默认0.2):return:"""filelist = os.listdir(self.train_path)pic_num = len(filelist)num =[q for q in range(0,pic_num)]index = random.sample(num,int(val_ratio*pic_num))for i in index:src = self.train_path+filelist[i]dst = self.val_path+filelist[i]shutil.copy(src,dst)for i in index:src = self.train_path + filelist[i]os.remove(src)def rename(self,filename):"""文件重命名:param filename: 当前目录文件名:return:"""nowdir = os.getcwd() + '/' +filename + '/'filelist = os.listdir(nowdir)num = len(filelist)i = 0for item in filelist:if item.endswith('.jpg') or item.endswith('jpeg'):src= nowdir + itemdst =nowdir + str(i) + os.path.splitext(item)[-1]os.rename(src, dst)i = i + 1if __name__ == '__main__':a=Dataset_split()a.split_train_val()a.rename('train')a.rename('val')
效果:
用
labelimg
标注图片对整理好的图片进行标注,不会用
labelimg
的看这篇文章:https://blog.csdn.net/weixin_44630522/article/details/122441572要将
train_data\images\train
的图片对应的标签文件保存到train_data\labels\train
下。同理,
train_data\images\val
的图片对应的标签文件保存到train_data\labels\val
下。
三、配置文件
data文件配置
在
yolov5-master\data
目录下新建一个xxx.yaml
文件(我这里建立pen.yaml
做演示)
把代码粘贴进
pen.yaml
,然后Ctrl + s
保存path: ../train_data # dataset root dir train: images/train # train images (relative to 'path') val: images/val # val images (relative to 'path') # Classes nc: 1 # number of classes names: ['pen'] # class names
解释:
path:存放数据集的根目录
train: 根目录下存放的训练集路径
val:根目录下存放的验证集路径
nc: 类的数量(标注了多少种类就填多少)
names:类的名称
models文件配置
接着在
yolov5-master\models
目录下
复制一份你要使用的模型配置(我这里打算用yolov5s
来训练)
打开文件,修改
nc:数量
(标注了多少种类就填多少)
Ctrl + s
保存
修改一下文件名(下图是修改后)
train.py配置
打开
train.py
代码往下拉,重点修改
--weights
对应 权重文件
--cfg
对应 model配置文件
--data
对应 data配置文件
(可根据自己的需求修改其他参数,具体看help=
)
Ctrl + s
保存
四、训练模型
(方法一:)直接运行修改后的
train.py
程序(方法二:)快捷键:
win + r
打开cmd
,cd
到 yolov5的目录下,(可右键train.py
【属性】 复制 【位置】), 然后 输入train.py
回车即可
训练完后yolov5文件夹内会生成
runs
文件夹,权重文件在...\runs\train\exp\weights
中,best.pt
和last.pt
代表 最佳效果模型 和 最后训练模型。
五、测试模型
打开目录下的 detect.py
(修改前)
--weights
对应 你训练的权重文件(自行修改路径)
--source
对应 你要检测的图片(自行修改路径)
--data
对应 data配置文件(自行修改路径)
(修改后)
直接运行 detect.py
程序即可
如有错误之处,欢迎指正 O(∩_∩)O
YOLOV5:在本地电脑训练模型相关推荐
- 如何将adb shell里面查到的文件复制到本地电脑
一般我们通过adb连接到安卓系统后,可以通过abd shell的ls命令来查看到该目录下的文件. 然后如果要复制该目录的文件到本地电脑,则一般不在adb shell里面来操作.通常直接使用 adb p ...
- python怎么在电脑上使用-使用python在本地电脑上快速处理数据
大数据一般是在"云"上玩的,但"云"都是要钱的,而且数据上上下下的也比较麻烦.所以,在本地电脑上快速处理数据的技能还是要的. pandas 在比赛中学到的一个工 ...
- CUDA:根据本地电脑的NVIDIA显卡驱动版本去正确匹配待安装的CUDA版本之详细攻略
CUDA:根据本地电脑的NVIDIA显卡驱动版本去正确匹配待安装的CUDA版本之详细攻略 目录 本地电脑的NVIDIA显卡驱动版本正确匹配对应的CUDA版本
- Crawler:反爬虫之基于urllib库+伪装浏览器方式实现从各种网站上(以百度贴吧为例)获得你喜欢的照片下载到本地电脑上
Crawler:反爬虫之基于urllib库+伪装浏览器方式实现从各种网站上(以百度贴吧为例)获得你喜欢的照片下载到本地电脑上 目录 输出结果 实现代码 输出结果 后期更新-- 实现代码 import ...
- 服务器文件每天备份重新命名,定时备份服务器文件至本地电脑
你有么有遇到过以下情况: 1 写的脚本忘记保存,然后苦逼地再写一遍 2 脚本不小心或者小心地删掉了,但后来又发现很有用,依然苦逼地再写一遍 3 实验室的服务器炸了,写的脚本全没了 一般情况下,第三种情 ...
- 如何让外网访问本地电脑(笔记本):路由映射篇
说到团队项目管理,很多公司都有用到不同的管理系统,作为企业开发人员,如果自己的公司没有用到这种集团化办公资源交互软件,不仅仅是企业管理上面的确实,也是对技术员的侮辱. 公司有了自己的办公生态环境,集团 ...
- 远程linux服务器,安装集成的xampp,本地电脑远程连接数据库进行使用
远程linux服务器,安装集成的xampp,本地电脑远程连接数据库进行使用 使用 navicat 相关软件远程连接数据库远程访问 xampp目录一般在/opt/lampp中 一.执行命令.进入目录: ...
- Centos7访问本地电脑共享文件夹遇到的问题
Centos7访问本地电脑共享文件夹遇到的问题 1.关于安装文件命令 网上教程里很多时候写安装命令是用 sudo apt-get insatll 命令 而在centos中 我们要使用的安装命令 ...
- unset是不能清除保存在本地电脑上的cookie的,用于session就可以(弄了半天原来是这样)...
unset($_COOKIE["historyWord[$wordId]"]); 这样是不行的,unset只是将变量在脚本运行时注销,但是cookie是写在客户端的,下一次还是可以 ...
最新文章
- JBoss企业级应用服务平台群集指南(五)
- 产业|中国电子学会发布《机器人十大新兴应用领域(2018-2019年)》
- 《数据结构》学习笔记一:绪论
- SQL SERVER 2012修改数据库名称(包括 db.mdf 名称的修改)
- 非常详细Redis数据库入门教程
- java 路径中代替斜杠_老生常谈java路径中的反斜杠和斜杠的区别
- jsp如何编写java代码_如何在JSP页面内编写java代码?(代码示例)
- vscode下载提速方法
- 概率论与数理统计学习笔记(1)——t检验与P值
- 解决mac上复制粘贴失效问题
- 英雄无敌王朝 服务器维护,魔法门之英雄无敌王朝全新护国神器玩法介绍_魔法门之英雄无敌王朝全新护国神器怎么玩_玩游戏网...
- Agile Scrum WaterFall通俗易懂的全过程整理
- 一个时代的印记:还记得那些年我们逃课去的网吧
- 政务云市场开启“狂飙”:一项前三,两项跃升!
- 探访广东第二鬼城,一座长在石油上的城市
- catkin_make报错: ROS Base path和Source space不一致问题,
- MySQL8高级优化,持续更新......
- WinSCP 以预设密码进行验证 拒绝访问
- securecrt能输入命令吗?
- python编写程序、实现一个数字金字塔_python实现输入任意一个大写字母生成金字塔的示例...
热门文章
- “求答案?一筐鸡蛋:几个几个拿”的Python解答
- TIME_WAIT和CLOSE_WAIT状态区别
- Mac端口5000被ControlCe占用问题解决方法
- 探秘app.asar
- 【日记】20220219启动项目蓝屏
- 敏涵·精致遮暇乳打造“新国妆”专场 致力新锐品牌强势“出圈”
- prctl()和pthread_setname_np()函数-设置线程名称
- 31.进程管理之进程概览,及ps命令详解,ps -ef,ps aux,ps -le,ps -l输出详解和示例
- 如何设置html的背景效果,背景图片的透明度如何设置(CSS)
- 【Vue2】自定义指令 directives 过滤器 filter