yolov5代码解读之yolo.py【网络结构】

​这个文件阿对于做模型修改、模型创新有很好大好处。

首先加载一些python库和模块:

yolov5代码解读之yolo.py【网络结构】_第1张图片

yolov5代码解读之yolo.py【网络结构】_第2张图片

yolov5代码解读之yolo.py【网络结构】_第3张图片

yolov5代码解读之yolo.py【网络结构】_第4张图片

如果要执行这段代码,直接在终端输入python yolo.py.

yolov5的模型定义和网络搭建都用到了model这个类(也就是以下图片展示的东西):(以前代码没有更新的时候是写在了一个model类中的,现在分成了两个)

yolov5代码解读之yolo.py【网络结构】_第5张图片

通常在pytorch中如果要定义一个模型的话,都会有一个__init__函数来搭建整个网络结构,然后还需要一个forward函数对你输入的图片进行预测的一个过程,还定义了一些其他的函数来实现其他的功能:

yolov5代码解读之yolo.py【网络结构】_第6张图片

先了解补充一点yolov5s.yaml文件(暂时不是很细致粗略地瞟一眼)

yolov5代码解读之yolo.py【网络结构】_第7张图片

ok,这里就只看initial函数部分了。

先看__init__的前两部分(加载配置文件和搭建):

yolov5代码解读之yolo.py【网络结构】_第8张图片

其中parse_model就是搭建过程,点进去看一下:

yolov5代码解读之yolo.py【网络结构】_第9张图片

yolov5代码解读之yolo.py【网络结构】_第10张图片

yolov5代码解读之yolo.py【网络结构】_第11张图片

ok,我们再来到__init__的后两部分:

yolov5代码解读之yolo.py【网络结构】_第12张图片

ok.

你可能感兴趣的:(yolo,YOLO)