1、输入图像
2、将图像送入卷积神经网络中进行特征提取--->>得到特征图
(这里的特征图可以是一个,也可以是多个,比如经过一些特征金字塔的操作,可以得到多个不同尺度的特征图)
3、对特征图进行操作,输出想要的形状
(这里为什么是想要的形状,比如,二分类的话,就输出成2个节点的样子,目标检测的话,可以输出成(c,x,y,w,h),为什么输出成这样,可以这样理解,【其实网络的输出数据,每个数据代表什么含义,都是人为自己定义的,也就是说,是作者希望图片输入到YOLO网络中,输出的1470维数据代表的上述含义。深度学习的训练其实是对网络的一个引导过程,所以,想要网络按你所想的产生输出,就需要设计好对应的标签(label),来引导网络,这也是对网络训练的目的。】)
4、将标签变换成一致的形状,进行损失的计算
(自定义的损失函数一般也继承于pytorch的类,因为得到的损失,也要进行梯度计算,相当于通过框架来进行的一些计算,可以自动的求梯度)
5、计算完损失后,来进行反向传播,更新一些权重参数
----一般都是经过上述的一个过程,有些会在特征提取部分进行改进,不同的网络,不同的方式,输出多个特征层,等等,
或者是损失函数计算的改进。