一.YOLOv5结构
RGB三通道图片BackboneHead检测框
二.detect.py
在YOLOv5的detect.py以及毕设代码BeiFen_BeiFen_BeiFen.py的detect部分最重要的就是自己训练的权重文件,而自己的权重文件是在train.py中基于yolov5s.pt训练的
yolov5s.pt:预训练权重;基于其可以理解成能够加快训练速度
注:理解detect.py时,建议搞清楚里面一些参数变量到底是True还是False,这就涉及最基本的语法and和or的逻辑关系,可参考如下博客:
python——and和or逻辑运算符用法详解_xiaochuhe.的博客-CSDN博客_python中and和or的用法
三.模型优化
YOLOv5的网络结构是由yolo.py文件中的model函数创建的,而yolov5s(n,m,l,x).yaml文件就是指导model函数一层一层的搭建YOLOv5的网络结构,这个网络结构搭建不是你以前想的在某个地方单独搭建的,而是在train.py中引用了models文件下yolo.py中的Model函数,需要注意的是:在train.py中创建的网络模型其实算是你自己独有的,因为你需要传入你自己修改后的.yaml文件来指导Model函数
修改网络模型
目前理解:1. 修改.yaml文件;2.修改yolo.py里的Model函数
注:通常不会考虑修改网络模型,因为你不确定你设置的参数训练效果怎么样,试错代价太大
四.关于环境方面的经验
1.安装好Anaconda后,用终端操作比较方便
2.安装与自己电脑适配的cuda版本,再安装与其版本对应的torch与torchvision
验证torch与cuda是否关联在一起:输入python输入import torch输入print(torch.cuda.is_available())返回True则代表安装成功,即可在终端进入自己的环境pip install 所需要的包名
3.在pycharm设置代码运行环境
右下角点击添加Python解释器Conda环境现有环境点击解释器后的三个点找到Anaconda文件夹envs环境名binpython
五.一些终端的命令
vim ~/.bashrc:可以配置环境变量的地方
source ./bashrc:刷新
在arm盒中 nvcc -V可以查看cuda版本 nvidia-smi行不通
ctrl+c:终端强制杀死进程