pytorch fasterrcnn-resnet50-fpn 神经网络 目标识别 应用 ------ 逻辑概述
- 前提:工欲善其事必先利其器
- 一、逻辑概述
- [[下一章 推理识别代码讲解](https://blog.csdn.net/qq_42239488/article/details/126309847)([开源](https://gitee.com/laomaogu/fasterrcnn_resnet50_fpn_study/tree/master))](#下一章 推理识别代码讲解(开源))
记录神经网络学习过程,我的代码主要参照官方案例:pytorh
有兴趣可以看一下
前提:工欲善其事必先利其器
- 工具
- 环境(我的环境配置文件 requirements.txt 已上传到 gitee 供大家参考)
- 代码
- 数据
网上案例很多,环境搭建不再赘述,代码和数据我会上传到gitee
工具看个人喜好,vscode轻便,pycharm 功能好,新手推荐pycharm
源码:https://gitee.com/laomaogu/fasterrcnn_resnet50_fpn_study
接下来正式进入学习环节
一、逻辑概述
对于一个完全陌生的技术点
我一贯的作风是,先搞清楚大概的运行逻辑
细枝末节先不管,这样才能摸清主干的脉络
等到大概搞清楚啥意思了,再逐一深入探讨
毕竟 , 重在 应用 !
今天先看看最粗的一个枝干
模型训练 推理 识别
够不够简单粗暴,总共就两个东西
1 模型训练
1) 训练数据
正式讲解之前,我们先看一个小故事
厂里生产的水杯最近质量严重下降,导致很多客户投诉
_
老板想找个人,守在产线出口,监督生产
_
招个人干他不放心,这可关乎到厂子生产的质量的问题
_
左思右想,叫来了自家大侄子
_
老板拉着大侄子,到一堆水杯面前,
跟他说:"你看,这个漏水,不行。 这个掉漆,不行。这个可以,里外干净光滑。。。。。"
_
"以后,质量大关,我可就交给你了,好好干,副厂长的位置给你留着"
言归正传,
为啥要训练模型?
本质上就和上边老板对大侄子说的话一样,
要让大侄子明白,哪个是良品,哪个是不良品。
那数据是啥?
显而易见,那堆杯子就是数据,
而且要有好的和不良的杯子做对比, 有了参照,大侄子就明白了
反应到神经网络里,就是以下的过程:
交给 生成 数据 神经网络不断学习 权重文件 xxx.pth
这个权重文件,就是一个"判断标准"
模型和网络结构就像大侄子 ,而训练出来的权重文件就像大侄子的判断标准
至于这个判断标准效果怎么样,只有推理预测一下,才能知道
2) 网络结构
本代码用的结构如标题所述:fasterrcnn-resnet50-fpn
网络结构先不讲,这部分,我们只要知道不同的网络结构的特性及应用方向就OK了
(当然,主要是太深的我也不懂。。。。)
2 推理识别
上面说了
大侄子就是模型,大侄子判断标准就是训练得到的权重文件 .pth.
但是代码不像人
能完成很多高级指令
所以有些过程需要通过代码体现:
输出 加载模型结构 神经网络 加载权重文件 预 测 待推理数据 推理结果