Open yonghui-bluvec opened 4 years ago
我用alex的darknet训练了一个260MB的yolov4模型,然后用了该方法将模型压缩到120MB。不过原本在jetson Xaiver NX 上FPS是3.8 现在只有3.1了,求问为什么会这样呢?
我也是用alex的darknet训练的yolov4模型,但是稀疏训练第80epoch map从90多降到50多,这正常吗? 请问你的学习率和s如何设置的
@yishunzhijian 是先用darknet训练的yolov4模型,在进行稀疏训练吗,我也是这么训练的,map 一直下降
是啊,问题很大
我用alex的darknet训练了一个260MB的yolov4模型,然后用了该方法将模型压缩到120MB。不过原本在jetson Xaiver NX 上FPS是3.8 现在只有3.1了,求问为什么会这样呢?
我也是用alex的darknet训练的yolov4模型,但是稀疏训练第80epoch map从90多降到50多,这正常吗? 请问你的学习率和s如何设置的
就是和作者用的一样的,--prune 1。 刚开始mAP波动,等学习率大了以后mAP下降,等到后来学习率下降以后,mAP又升回来了。推荐你训练的时候用tensorboard观察bn weights。bn weights在l1的作用下变动的时候mAP掉的厉害,但是当分布稳定的时侯,mAP又上来了。 我是150个epoch
我用alex的darknet训练了一个260MB的yolov4模型,然后用了该方法将模型压缩到120MB。不过原本在jetson Xaiver NX 上FPS是3.8 现在只有3.1了,求问为什么会这样呢?
我也是用alex的darknet训练的yolov4模型,但是稀疏训练第80epoch map从90多降到50多,这正常吗? 请问你的学习率和s如何设置的
就是和作者用的一样的,--prune 1。 刚开始mAP波动,等学习率大了以后mAP下降,等到后来学习率下降以后,mAP又升回来了。推荐你训练的时候用tensorboard观察bn weights。bn weights在l1的作用下变动的时候mAP掉的厉害,但是当分布稳定的时侯,mAP又上来了。 我是150个epoch
你用的什么数据集 啊
我用alex的darknet训练了一个260MB的yolov4模型,然后用了该方法将模型压缩到120MB。不过原本在jetson Xaiver NX 上FPS是3.8 现在只有3.1了,求问为什么会这样呢?
我也是用alex的darknet训练的yolov4模型,但是稀疏训练第80epoch map从90多降到50多,这正常吗? 请问你的学习率和s如何设置的
就是和作者用的一样的,--prune 1。 刚开始mAP波动,等学习率大了以后mAP下降,等到后来学习率下降以后,mAP又升回来了。推荐你训练的时候用tensorboard观察bn weights。bn weights在l1的作用下变动的时候mAP掉的厉害,但是当分布稳定的时侯,mAP又上来了。 我是150个epoch
你用的什么数据集 啊
公司的数据,没试coco和其他公共数据。 刚刚又跑了一次,剪到80MB。我这边剪channel对速度提升没有提升,貌似还导致在NX上面一定的下降。 只有剪layer有效果。我最后剪了16个shortcut, channel的slim是0.35。2080ti从60FPS到79FPS,但是jetson NX还是没提升。
我用alex的darknet训练了一个260MB的yolov4模型,然后用了该方法将模型压缩到120MB。不过原本在jetson Xaiver NX 上FPS是3.8 现在只有3.1了,求问为什么会这样呢?
我也是用alex的darknet训练的yolov4模型,但是稀疏训练第80epoch map从90多降到50多,这正常吗? 请问你的学习率和s如何设置的
就是和作者用的一样的,--prune 1。 刚开始mAP波动,等学习率大了以后mAP下降,等到后来学习率下降以后,mAP又升回来了。推荐你训练的时候用tensorboard观察bn weights。bn weights在l1的作用下变动的时候mAP掉的厉害,但是当分布稳定的时侯,mAP又上来了。 我是150个epoch
你用的什么数据集 啊
公司的数据,没试coco和其他公共数据。 刚刚又跑了一次,剪到80MB。我这边剪channel对速度提升没有提升,貌似还导致在NX上面一定的下降。 只有剪layer有效果。我最后剪了16个shortcut, channel的slim是0.35。2080ti从60FPS到79FPS,但是jetson NX还是没提升。
可以分享一下稀疏训练的bn图和map变化的图嘛,我这个可能是数据集的问题
我用alex的darknet训练了一个260MB的yolov4模型,然后用了该方法将模型压缩到120MB。不过原本在jetson Xaiver NX 上FPS是3.8 现在只有3.1了,求问为什么会这样呢?
我也是用alex的darknet训练的yolov4模型,但是稀疏训练第80epoch map从90多降到50多,这正常吗? 请问你的学习率和s如何设置的
就是和作者用的一样的,--prune 1。 刚开始mAP波动,等学习率大了以后mAP下降,等到后来学习率下降以后,mAP又升回来了。推荐你训练的时候用tensorboard观察bn weights。bn weights在l1的作用下变动的时候mAP掉的厉害,但是当分布稳定的时侯,mAP又上来了。 我是150个epoch
你用的什么数据集 啊
公司的数据,没试coco和其他公共数据。 刚刚又跑了一次,剪到80MB。我这边剪channel对速度提升没有提升,貌似还导致在NX上面一定的下降。 只有剪layer有效果。我最后剪了16个shortcut, channel的slim是0.35。2080ti从60FPS到79FPS,但是jetson NX还是没提升。
可以分享一下稀疏训练的bn图和map变化的图嘛,我这个可能是数据集的问题
BN是稀疏训练前后的对比
trainloss和mAP 包括后来的蒸馏学习部分。 模型从250MB到80MB, 精度基本保持,但是再次吐槽xaiver NX的FPS没变
这是每层的bn图,你应该看总的统计;稀疏未够充分,所以剪枝率低
就是和作者用的一样的,--prune 1。 刚开始mAP波动,等学习率大了以后mAP下降,等到后来学习率下降以后,mAP又升回来了。推荐你训练的时候用tensorboard观察bn weights。bn weights在l1的作用下变动的时候mAP掉的厉害,但是当分布稳定的时侯,mAP又上来了。 我是150个epoch
@yonghui-bluvec @zbyuan @yishunzhijian 请问一下,您用的数据集是多少个类? 并且您训练的时候 稀疏度 --sr s=是多少啊? 我这边在voc 数据集上,稀疏化训练的 s= 0.001, prune =1 ; 已经训练了 150个epoch 了, 精度 可以回升, 但召回率始终很低?
python train.py --cfg cfg\yolov4_digital.cfg --data data\digital.data --weights weights\yolov4_digital.weights --epochs 20 --batch-size 4 -sr --s 0.001 --prune 1
训练到第18个epochs,报错内存不足: 有没有大佬能给支个招?
batch-size设置为1试试
发自我的iPhone
------------------ 原始邮件 ------------------ 发件人: zhaopeng @.> 发送时间: 2022年5月24日 11:12 收件人: tanluren/yolov3-channel-and-layer-pruning @.> 抄送: yishunzhijian @.>, Mention @.> 主题: Re: [tanluren/yolov3-channel-and-layer-pruning] yolov4模型剪枝后模型大小下降,FPS也下降了 (#101)
bs小点 建议上好点的服务器 20个周期进行稀疏化效果可能不是很好
v4在激活函数 网络结构 数据增强等要吃显存 正常的
python train.py --cfg cfg\yolov4_digital.cfg --data data\digital.data --weights weights\yolov4_digital.weights --epochs 80 --batch-size 1 -sr --s 0.001 --prune 1
bs减小为1后,还是会报内存溢出错误:
事情果然没有想象的那么简单,各位有没有碰到过呢?
python train.py --cfg cfg\yolov4_digital.cfg --data data\digital.data --weights weights\yolov4_digital.weights --epochs 80 --batch-size 2 -sr --s 0.001 --prune 1 运行到一定epoch会报内存溢出错误!
同样的模型,把名字yolov4_digital.weights改为yolov4.weights,如下 python train.py --cfg cfg\yolov4_digital.cfg --data data\digital.data --weights weights\yolov4.weights --epochs 80 --batch-size 2 -sr --s 0.001 --prune 1 直接报错:
我用alex的darknet训练了一个260MB的yolov4模型,然后用了该方法将模型压缩到120MB。不过原本在jetson Xaiver NX 上FPS是3.8 现在只有3.1了,求问为什么会这样呢?