本文共 905 字,大约阅读时间需要 3 分钟。
shortcut层的输入层一般是两个(目前还没出现多余两个的情况),实现两个张量相加,例如:
对应的cfg文件中的层为:#4[convolutional]batch_normalize=1filters=64size=1stride=1pad=1activation=mish#5[convolutional]batch_normalize=1filters=32size=1stride=1pad=1activation=mish#6[convolutional]batch_normalize=1filters=64size=3stride=1pad=1activation=mish#7[shortcut]from=-3activation=linear
cfg文件中shortcut层紧接的那一层为shortcut层的一个输入层,另外一个输入层为from指定的层,例如from=-3指的是该shortcut层的前面第三层。
route层作用相当于引入和concat两个操作,当route的输入只有一个时,就只有引入的作用,当输入大于一个的时候,会将所有的引入再执行一步concat,增加route层的输出维度。yolov4中route层的输入可以是1、2或4个,例如SPP模块:
最下面的一个route层有四个输入,对应的在cfg文件中的代码为:[convolutional]batch_normalize=1filters=512size=1stride=1pad=1activation=leaky### SPP ###[maxpool]stride=1size=5[route]layers=-2[maxpool]stride=1size=9[route]layers=-4[maxpool]stride=1size=13[route]layers=-1,-3,-5,-6### End SPP ###
route层的layers参数制定了该route层的输入有哪些,方法和shortcut相同,-1指的是该route层往前的第1层。
欢迎批评指正!
转载地址:http://barti.baihongyu.com/