Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

常见的一些问题汇总 #38

Open
Syencil opened this issue Apr 14, 2021 · 3 comments
Open

常见的一些问题汇总 #38

Syencil opened this issue Apr 14, 2021 · 3 comments
Labels
documentation Improvements or additions to documentation

Comments

@Syencil
Copy link
Owner

Syencil commented Apr 14, 2021

  1. 问:为什么有时候训练mAP会变成0?
    答:这要分情况讨论,我看大多数就是loss->0,val的map->0,这是很明显的overfit了。可以参考一下原来写的csdn文章

  2. 问:torch.nn.modules.module.ModuleAttributeError: 'Model' object has no attribute 'module'
    答:这是原git挖的坑。你以为的模型加载->直接读取权重,恢复模型,构建梯度关系。实际上的模型加载->从yaml中构建一个随机权重的模型->得到梯度关系->加载每一层保存的权重。前者用在纯前向推理,后者用在需要梯度关系的时候,比如剪枝。还有就是保证原始工程结构,注意export PATH=$PWD

  3. 问:yolo5s的预训练权重没了怎么办?
    答:我现在手上也没了。不过这个git主要是用更轻量的mobilev2-yolo5s,所以这里大家也可以来尝试一下。如果需要用yolov5,还是用他们最新的,对着我这个改改代码还是很轻松的Readme中有一个网盘链接,可以试一下

  4. 问:recall低或者precision低
    答:和阈值有关,所以我这里只关注map作为中间指标。如果再剪枝或者蒸馏中出现map降低,也是很正常的,和你的数据集以及策略都有关,毕竟每个论文都是吹自己是sota。还需要自己鉴别。

  5. 问:剪枝之后的模型能保存yaml文件吗?可不可以蒸馏或者进行ncnn转换?
    答:可以,但是没必要用yaml文件。这个时候你直接加载模型就行了,参考ft(finetune)模式。如果你很介意,那你就写个逆向的脚本就行了,不难,锻炼一下自己。

  6. 问:模型训练的细节,剪枝蒸馏参考的文献等
    答:基本都在readme中有写,细节直接看代码就好了,不难,就当作学习。补充一下,剪枝是韩松的基于bn层剪枝,蒸馏则是用了针对一阶段、二阶段、分类网络等等的方式,具体细节肯定和原文有出入,但是差异不大注意鉴别。还有就是不要问我为什么不用什么什么方法,我不可能帮你实验完所有的,你可以自己动手。我所选的都是具有代表性的,很经典的方法,但是不一定最好。

  7. 问:yolov5在你这里剪枝蒸馏有一些bug
    答:一针对yolov5我没有具体测试过,别人作者都还在更新呢,肯定是有bug的。二我这个项目主要是想做个更轻量的模型出来,但是我能保证只要按照我的步骤一步一步肯定能复现出来,我连随机数种子都给你们了>_<。

  8. 问:mobilev2-yolo5s收敛慢,但是yolo5s就很快?
    答:别人在coco上预训练过的,参数量和计算量是我的两倍,capacity就很大。我这个就backbone用的imagenet权重,head全部随机初始化,收敛慢很正常,capacity小导致精度低也很正常。本身轻量化的思路就是从整体结构设计、剪枝、蒸馏、量化这4个点来做的。你要拿着yolov5x训练完了再做轻量化我也没得说,这也是个思路。

@wwj1980
Copy link

wwj1980 commented May 5, 2021

RuntimeError: CUDA out of memory. 调整哪些参数,降低计算量?

@Syencil
Copy link
Owner Author

Syencil commented May 6, 2021

RuntimeError: CUDA out of memory. 调整哪些参数,降低计算量?

batchsize

@MoXQian
Copy link

MoXQian commented Jun 11, 2021

mobilev2-yolo5s的预训练权重怎么找不到了呀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants