Giter Site home page Giter Site logo

Comments (16)

SpursLipu avatar SpursLipu commented on June 16, 2024

你可以试试不带蒸馏直接finetuning的效果.....剪植后保留了网络的权重没相当于使用了预训练,确实可以快速的较高的map这可能不是蒸馏的效果,是使用预训练模型的效果

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SISTMrL avatar SISTMrL commented on June 16, 2024

你的意思是剪枝得到的prune_0.5_yolov3.weights充当了预训练模型的效果?另外当在执行normal_prune.py时,剪枝前后的map变化如下:
+------------+----------+----------+
| Metric | Before | After |
+------------+----------+----------+
| mAP | 0.840241 | 0.000357 |
| Parameters | 61523734 | 21872821 |
| Inference | 0.1514 | 0.1094 |
+------------+----------+----------+
看这个map似乎起不到预训练的效果,而且也不懂为何剪纸后map几乎降为0,在进行蒸馏后,上升那么快

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SpursLipu avatar SpursLipu commented on June 16, 2024

剪植的步骤是 稀疏化训练-剪植-finetuning,剪植完后还需要一个finetuning的步骤,全部走完后才能得到效果比较好的剪植模型

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SISTMrL avatar SISTMrL commented on June 16, 2024

哦哦好的,我看readme里写正常剪枝,无需微调,,我再试试微调,重新跑下剪枝后的模型

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SpursLipu avatar SpursLipu commented on June 16, 2024

对于剪植率比较低和数据集简单确实可以无需微调,比率较大数据集复杂还是需要的。

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SISTMrL avatar SISTMrL commented on June 16, 2024

好的,谢谢

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SISTMrL avatar SISTMrL commented on June 16, 2024

你好,请问下finetune有啥可以建议的么,建议调整哪些参数,我就是直接把剪枝后的模型直接拿来重新训练了,指令如下:
python train.py --data data/xray.data --batch_size 2 --accumulate 1 -pt --weights weights/yolov3_hand_normal_pruning_0.5percent.weights --cfg cfg/prune_0.5_yolov3/prune_0.5_yolov3.cfg --img_size 608 --epochs 80,

map变化情况:
epoch: 0--->12 map: 0.0091, 0.182, 0.335, 0.397, 0.395, 0.374, 0.431, 0.452, 0.472, 0.608, 0.688, 0.722, 0.788
epoch: 13--->80, map几乎都在(0.78, 0.8)之间,感觉map上升的也很快,前十三个epoch就模型几乎达到最优了。所以不知如何调整参数,能否给点意见,因为是第一次做检测,刚入门深度学习不久。诚盼回复,十分感谢

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SpursLipu avatar SpursLipu commented on June 16, 2024

fine tuning的最优结果就是达到原模型的精度,不知道你测试的结果和原模型差的有多少?

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SISTMrL avatar SISTMrL commented on June 16, 2024

我重新跑剪纸的模型最优的map为0.809, 原模型是0.83-0.84之间

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SpursLipu avatar SpursLipu commented on June 16, 2024

呢你可以尝试用蒸馏fine tuning的方式。调参的话可以尝试学习率或者蒸馏时的温度系数。

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SISTMrL avatar SISTMrL commented on June 16, 2024

好的,我尝试下用蒸馏的方式,十分感谢

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SISTMrL avatar SISTMrL commented on June 16, 2024

你好,用蒸馏(温度系数有设为3, 6, 10),学生模型的map没有多大变化,是否是因为重新训练后的模型本身就与原模型相差不到6个百分点的map?(--percent 0.5的情况)。不知道你记不记得,我当时有改过yolo-tiny的结果,加了卷积,shortcut和yololayer结构,然后我将yolov3作为教师网络,yolo-tiny作为学生网络,tiny的best map 由0.654--->0.752, 接近十个百分点,yolov3的best map为0.834. 本身教师网络和学生网络的map就相差较大。

此外我还有一个问题,我又尝试了0.7的剪纸率,--percent 0.7,我将剪纸得到的模型再次重新训练,得到如下map图
results
也是得到了map为0.8的模型,但此时map上升的趋势则较为平稳,直到epoch=40左右到达最优,与上面问题提到的--percent 0.5重新训练时,第13个epoch就基本达到最优,形成鲜明对比。我的猜测是剪纸后由于-- percent 0.5相对于0.7所保留的结构更多,所以优化的更快?是否是这样的原因?

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SpursLipu avatar SpursLipu commented on June 16, 2024

不好意思 由于问题closed了 我没看到问题。剪植率比较低当然更容易回复精度。至于知识蒸馏的问题我还在调试,现在的效果不一定可靠。

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SISTMrL avatar SISTMrL commented on June 16, 2024

好的感谢,我之后也会继续跟进对你repo的研究

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SISTMrL avatar SISTMrL commented on June 16, 2024

你好,另外能否在readme中 写下如何对剪枝后的微调的一些方法的说明,还是有点对剪枝有点模糊,我也会对看点模型压缩的论文丰富经验

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

SpursLipu avatar SpursLipu commented on June 16, 2024

行,我之后会更新一些剪植的数据

from yolov3v4-modelcompression-multidatasettraining-multibackbone.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.