YOLOv3-model-pruning
YOLOv3-model-pruning copied to clipboard
关于哪些卷积是可以裁剪的
你好! 我想问下关于哪些卷积是可以裁剪的问题,在我看来并不是所有conv2d都可以裁剪,对于yolov3中每个shortcut所关联的2个卷积(-1,-3)应该是不能裁剪的吧?(因为shortcut是相加裁剪后层数不对应) 我这边计算年下yolov3所有带bn的卷积加起来一共有26304层,其中12544层和shortcut有关联,无法裁剪,将近一半。 由于你的repo中没有给出prune.py,我不知道你是否裁剪了shortcut所关联的卷积,因为你说你裁剪了80%,不知道你是如何裁剪的,如何对付shortcut关联的这些卷积,是否裁剪了他们?
你好! 我想问下关于哪些卷积是可以裁剪的问题,在我看来并不是所有conv2d都可以裁剪,对于yolov3中每个shortcut所关联的2个卷积(-1,-3)应该是不能裁剪的吧?(因为shortcut是相加裁剪后层数不对应) 我这边计算年下yolov3所有带bn的卷积加起来一共有26304层,其中12544层和shortcut有关联,无法裁剪,将近一半。 由于你的repo中没有给出prune.py,我不知道你是否裁剪了shortcut所关联的卷积,因为你说你裁剪了80%,不知道你是如何裁剪的,如何对付shortcut关联的这些卷积,是否裁剪了他们?
你去看一下他的 "prune_yolov3-hand.cfg" 文件,其中被shortcut限制的卷积层不参与剪枝,所以我感觉他写的80%的裁剪应该是针对剩下未被限制的卷积层。
你好! 我想问下关于哪些卷积是可以裁剪的问题,在我看来并不是所有conv2d都可以裁剪,对于yolov3中每个shortcut所关联的2个卷积(-1,-3)应该是不能裁剪的吧?(因为shortcut是相加裁剪后层数不对应) 我这边计算年下yolov3所有带bn的卷积加起来一共有26304层,其中12544层和shortcut有关联,无法裁剪,将近一半。 由于你的repo中没有给出prune.py,我不知道你是否裁剪了shortcut所关联的卷积,因为你说你裁剪了80%,不知道你是如何裁剪的,如何对付shortcut关联的这些卷积,是否裁剪了他们?
你去看一下他的 "prune_yolov3-hand.cfg" 文件,其中被shortcut限制的卷积层不参与剪枝,所以我感觉他写的80%的裁剪应该是针对剩下未被限制的卷积层。
感谢回答,我去看了下的确没有裁剪shortcut限制的卷积层,但有个新细节问题,为什么如下两个route层中间的卷积层没有裁剪,是出于什么考虑吗,理论上route是卷积层深度拼接,裁剪应该不影响route。
[route] layers=-4
[convolutional] batch_normalize=1 filters=256 size=1 stride=1 pad=1 activation=leaky
[upsample] stride=2
[route] layers=-1, 61
[route] layers=-4
[convolutional] batch_normalize=1 filters=128 size=1 stride=1 pad=1 activation=leaky
[upsample] stride=2
[route] layers=-1, 36
I have a small question. If we add L1 norm to all BN layers in training but don't prune the layers related to the shortcut layer, is it still works?
你好,我使用的是tiny剪枝,我在使用过程有一个疑问,为什么上采样层前一层的卷积层不参与剪枝呢?