yolo-fastestv2小白全流程使用指南
- 搭建环境
1,安装anaconda和pycharm
所需软件工具:anaconda pycharm cuda
Anaconda是一个管理用于python开发的包含不同库的虚拟环境的平台,可以高效的管理和创建适用于多个不同项目的project interpreter。安装完成自带一个根环境,路径在conda的安装目录下。进入后可以在环境管理页面创建新环境,新环境的路径在安装目录下的envs中存储,在pycharm中设置interpreter时需要找到所需环境的存储位置,interpreter设置选择conda enviroment,填写python.exe的路径即可完成编译环境与项目的绑定。之后进行虚拟环境设置,安装新的库的时候只需打开cmd,输入activate 环境名,即可进入环境目录,之后pip安装所需库即可。
从官网上下载进行安装,勾选这两项方便环境配置,如果安装时没有勾选这两项建议重新安装,并!重!启!,涉及到环境变量的改动都建议在修改后重启
等待anaconda安装完进入environment界面,将新环境命名为yolofastest,python版本选择3.7,点击ok,等待自动生成环境,之后即可关闭anaconda。
完成anaconda安装后,从官网下载pycharm,解压安装完成后创建工程,路径选择到之前解压源码的无中文字符路径,注意!!!!,创建完成后此处有红框标记的文件即为路径正确(也可先创建再解压到工程文件中)
之后进入pycharm中选择工程所需的interpreter
2,安装cuda11.4
第一步,下载双击运行,选择自定义
第二步:不要选择visual studio integration,否则无法安装
第三步:更改环境变量
第四步:安装cudnn
将cudnn解压后,将其中的所有内容复制到以下路径中,ps(默认路径,可以直接用
第五步:验证
打开cmd,输入nvcc -V验证cuda是否安装成功,出现如下界面即为成功
- 安装pytorch1.5.1以及其他库
以管理员身份进入cmd,输入activate yolov5test进入环境目录下,输入
pip install torch===1.5.1 torchvision===0.6.1 -f https://download.pytorch.org/whl/torch_stable.html -i Simple Index
使用豆瓣源安装,很多是使用清华源,但是清华源安装时容易超时而导致安装失败,有条件的可以FQ直接安装,效果非常好。
安装完成后再pycharm中创建文件,输入验证pytorch安装是否成功
import torch
print(torch.__version__)
- 下载源码
GitHub - dog-qiuqiu/Yolo-FastestV2: Based on Yolo's low-power, ultra-lightweight universal target detection algorithm, the parameter is only 250k, and the speed of the smart phone mobile terminal can reach ~300fps+
解压后使用pycharm打开文件夹,如下:
在pycharm的终端栏或是命令行输入:activate yolofast
- 运行代码
基本上是按照readme中操作,但是个别语句需要更改
1,Dependent installation安装requirements中的第三方库
pip3 install -r requirements.txt
2,Test测试能否正常使用
python test.py --data data/coco.data --weights modelzoo/coco2017-0.241078ap-model.pth --img img/000139.jpg
(注意此命令与readme中不同,删去python后面的3)
训练How to train
流程:建立数据集——获得锚定偏差——训练——评估
(一)建立数据集:Building data sets(The dataset is constructed in the same way as darknet yolo)
数据集的格式darknet Yolo相同,每个图像对应一个.txt标签文件。标签格式也基于darknetYolo的数据集标签格式:“类别cx cy wh”,其中类别是类别下标,cx,cy是标准化标签框的中心点的坐标,w,h是标准化标签框的宽度和高度,.txt标签文件内容示例如下:
11 0.344192634561 0.611 0.416430594901 0.262
14 0.50 9915014164 0.51 0.974504249292 0.972
2,该图像及其对应的标签文件具有相同的名称,并存储在同一目录中。数据文件结构如下:
3,生成一个数据集路径.txt文件,示例内容如下:
train.txt
val.txt
Python自动修改代码:
txt_ = r"D:/mask_txt/val.txt"with open(txt_,'a+') as f:for i in range(101,201):item = ("D:/mask_txt/val/"+"{}.jpg").format(str(i).zfill(4))f.write(item)f.write("\n")
此处路径均为实际路径,在此不在赘述。
4,生成.names类别标签文件,示例内容如下:
category.names
本人自训练样例:
5,最终构建的训练数据集的目录结构如下:
下面示例为自组织数据集:
(二) 获得锚定片偏差:
1,根据当前数据集生成锚点
python genanchors.py --traintxt ./train.txt
(此处同样是将3删除)
2,anchors6.txt文件将在当前目录中生成,anchors6.txt的示例内容如下
3,Build the training .data configuration file(配置文件,调整参数使之符合要训练的数据集)
参考./data/coco.data
如果不想重新写一个,可直接在coco.data修改
Epoch 轮次,每十轮会保存一次训练结果
Classes 分类,你想要的分类数目
Anchor 此处修改为上述生成的偏差
Train,val,names 均修改为实际路径
注意:anchor6.txt很重要,若移植代码,则注意使anchor内容与自己训练集的保持对应。
(三)训练
python train.py --data data/coco.data
(四)评估
python3 evaluation.py --data data/coco.data --weights modelzoo/coco2017-0.241078ap-model.pth
此处的pth文件选择训练生成的文件。
(五)预测
与测试类似,将所要预测的图片放入指定位置,修改图片参数。
python3 test.py --data data/coco.data --weights modelzoo/coco2017-0.241078ap-model.pth --img img/000139.jpg
- 部署(此处使用NCNN框架)
- 将训练好的模型转化为onnx存储格式
python3 pytorch2onnx.py --data data/coco.data --weights modelzoo/coco2017-0.241078ap-model.pth --output yolo-fastestv2.onnx
- onnx-sim
python3 -m onnxsim yolo-fastestv2.onnx yolo-fastestv2-opt.onnx
- 搭建 NCNN
git clone https://github.com/Tencent/ncnn.gitcd ncnnmkdir buildcd buildcmake ..makemake installcp -rf ./ncnn/build/install/* ~/Yolo-FastestV2/sample/ncnn
- 转变ncnn的参数和配置
cd ncnn/build/tools/onnx./onnx2ncnn yolo-fastestv2-opt.onnx yolo-fastestv2.param yolo-fastestv2.bincp yolo-fastestv2* ../cd .././ncnnoptimize yolo-fastestv2.param yolo-fastestv2.bin yolo-fastestv2-opt.param yolo-fastestv2-opt.bin 1cp yolo-fastestv2-opt* ~/Yolo-FastestV2/sample/ncnn/model
- 跑通样例
cd ~/Yolo-FastestV2/sample/ncnnsh build.sh./demo
参考
史上最详细yolov5环境配置搭建+配置所需文件 - 你熬夜不学习吗 - 博客园 (cnblogs.com)
dog-qiuqiu/Yolo-FastestV2: Based on Yolo's low-power, ultra-lightweight universal target detection algorithm, the parameter is only 250k, and the speed of the smart phone mobile terminal can reach ~300fps+ (github.com)
yolo-fastestv2小白全流程使用指南相关推荐
- 电子发票全流程电子化管理指南-摘要
电子发票全流程指南摘要 1 范围 本指南梳理汇总了电子发票开具.接收.报销.入账.归档及档案管理等方法,为电子发票电子化应用提供重要参考. 2 规范性引用文件 财政部.国家档案局令第79号 会计档案管 ...
- 小红书电商入驻全流程指南
小红书电商入驻全流程指南#小红书 五类店铺入驻要求可售卖类目你知道吗?#运营#干货 你知道小红书的 5 类店铺的入驻要求以及可售卖类目吗?hello,大家好,我是专注搞流量的百收编辑狂潮老师.小红书目 ...
- 利用yolov8零售商品识别实现的智能结算系统 yolo+后端flask+数据库sqlite+前端html(从零开始,全流程教学)
文章目录 1. 数据集的制作 1.1 使用爬虫采集数据集 1.2 使用labelme对图片进行标注 2. YOLOv8 2.1YOLO算法简单介绍 2.2 YOLOv8获取与调试 2.2.1 通过pi ...
- linux 建站命令,Linux 服务器建站新手教程(小白宝塔建站全流程)-不需要敲一行命令,...
Linux 服务器建站新手教程(小白宝塔建站全流程)-不需要敲一行命令, Linux 服务器配置.运行.不用敲命令 WordPress 建站攻略--助力新手快速利用Linux系统建立属于自己的站点-- ...
- python数据分析的主要流程-Python数据分析全流程实操指南
内容全面:借助5大Python工具库,实现数据分析从获取到建模全流程覆盖: 贴合实际:不空讲Python语法,清晰简明地介绍如何用Python来处理.分析数据: 热点案例:覆盖6大热点应用领域,可直接 ...
- 快速了解fcpx剪辑全流程,新手小白快速上手Final cut
Final Cut Pro X 是Mac OS平台上最好的视频剪辑软件,使用起来也非常方便.那么如何快速了解Final Cut 剪辑全流程?今天小编整理了新手快速上手Final cut的操作流程,让新 ...
- 阿里云 — 服务器购买和部署全流程(适合新手小白)
服务器购买和部署全流程 一:服务器 二:阿里云账户 三:账户登录 四:根据需要,选择方案并购买 1:根据情况,选择购买 2:选择购买的服务器类型 3:核对信息 2:最后再次确认 五:OK完成,返回控制 ...
- 【项目经验总结】贷前评分卡建模全流程指南
由于前几个月参与了一家股份制银行的信贷风控项目,其中我负责了贷前评分卡建模相关工作,最近刚完成模型交付,在此总结记录一下,从数据诊断到样本提取,再到模型构建的全流程工作内容. 本文主要侧重实地驻场建模 ...
- 渗透测试 ( 1 ) --- 相关术语、必备 工具、导航、全流程总结、入侵网站思路
From:https://zhuanlan.zhihu.com/p/401413938 渗透测试实战教学:https://www.zhihu.com/column/c_1334810805263515 ...
最新文章
- yii2框架随笔29
- 序列信号产生器的verilog HDL 设计
- 已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法...
- Linux块设备驱动(二)————块设备的体系架构
- 008_HttpServletRequest对象
- radio 事件_nRF52832/51822系列RADIO外设介绍/使用
- 深度学习-Tensorflow基本介绍01
- Jira项目导入,被导入项目与目的系统数据类型不一致导入不成功的解决方案
- 【转】JMeter学习(十七)JMeter测试Java
- iOS APP 逆向安全杂谈之三
- 面向对象16:代码块、final关键字
- 平均随机一致性指标表MATLAB,AHP法中平均随机一致性指标的算法及MATLAB实现.pdf...
- 智能晾衣器全国产化电子元件推荐方案
- amcharts学习
- a href标签下载文件遇到下载失败 打开文件的问题
- 云手机哪个好用最流畅?红手指、双子星、雷电云手机性价比推荐排行
- 最新小程序授权+php后端(附demo源码)
- HTTP协议格式(请求格式、响应格式)
- SSM+医保业财一体化管理系统 毕业设计-附源码151023
- oracle时间平均,Oracle SQL的平均时间
热门文章
- SharePoint 教程
- 《穷爸爸富爸爸》 —— 罗伯特访问记录
- 3.5 cheerio文档
- 时间转换@DateTimeFormat和@JsonFormat
- 画出千军万马!远古神兵听凭你的「指」挥
- 京东云疑似关闭3款产品,大洗牌开始?
- 连接数据库报com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接
- 跑三小时的monkey测试该怎么算_monkey测试方法
- echarts HTML折线图设置
- 2007年新公司工作总结