bubbliiiing / yolov7-pytorch

这是一个yolov7的库,可以用于训练自己的数据集。
GNU General Public License v3.0
861 stars 150 forks source link

预训练权重 #31

Open cymdhx opened 2 years ago

cymdhx commented 2 years ago

up我想问下这预训练权重是在cooc数据集上的吗

charming2992 commented 2 years ago

是的,官方的

cymdhx commented 2 years ago

为什么使用全部与训练权重精确度很高,只使用主干权重精确度就很差呢

bubbliiiing commented 2 years ago

FPN不是那么好训练的 只用主干还是差很大的

bubbliiiing commented 2 years ago

用整个预训练相当于只训练head 用主干需要训练整个特征融合的过程

cymdhx commented 2 years ago

用整个预训练相当于只训练head 用主干需要训练整个特征融合的过程

(1)up,那我只用主干权重需要用啥技巧能训练到你的精度。有什么需要注意的吗,需要修改学习率还是数据增强等等,有啥技巧吗。

还是只需要加载backbone权重然后按照你给的代码直接run就行了 (2)使用多卡训练时,我把backend的值从‘NCCL’改成'gloo’会对结果有影响吗,因为使用nccl会消耗一定的显存,我想用gloo这样可以把batch调大一点,这样降低精确度吗。

bubbliiiing commented 1 year ago

1、你用的不是coco,数据集没那么大又,咋能到呢 2、这个不太了解

cymdhx commented 1 year ago

1、你用的不是coco,数据集没那么大又,咋能到呢 2、这个不太了解

up,我是用的coco但是精确度达不到那么高,是为啥啊。

bubbliiiing commented 1 year ago

你咋训练的,最终精度是多少捏

cymdhx commented 1 year ago

你咋训练的,最终精度是多少捏

就按照你的run 我吧总epoch改成了150,batchsize分别是40的16,size是640基本上训练到80次epoch精确度就不动了,最后ap只到了43%。

bubbliiiing commented 1 year ago

40的16?

cymdhx commented 1 year ago

你咋训练的,最终精度是多少捏

40的16?

冻结主干时是40,不冻结是16

cymdhx commented 1 year ago

你咋训练的,最终精度是多少捏

40的16?

冻结主干时是40,不冻结是16

我只加载了主干权重

bubbliiiing commented 1 year ago

按照官方的设置,你应该这样 mosaic = True mosaic_prob = 1 mixup = True mixup_prob = 1 special_aug_ratio = 0.9

Init_Epoch = 0 UnFreeze_Epoch = 300 Unfreeze_batch_size = 64

cymdhx commented 1 year ago

按照官方的设置,你应该这样 mosaic = True mosaic_prob = 1 mixup = True mixup_prob = 1 special_aug_ratio = 0.9

Init_Epoch = 0 UnFreeze_Epoch = 300 Unfreeze_batch_size = 64

马赛克和mixup都调成1吗,我感觉有时候全是1可能效果更差,哈哈哈 是不是因为我训练epoch少了

cymdhx commented 1 year ago

按照官方的设置,你应该这样 mosaic = True mosaic_prob = 1 mixup = True mixup_prob = 1 special_aug_ratio = 0.9 Init_Epoch = 0 UnFreeze_Epoch = 300 Unfreeze_batch_size = 64

马赛克和mixup都调成1吗,我感觉有时候全是1可能效果更差,哈哈哈 是不是因为我训练epoch少了,batchsize 64 显存也不够....

谢谢up主大佬

bubbliiiing commented 1 year ago

mixup在yolov7里面是0.15 yolox里面是1

bubbliiiing commented 1 year ago

我自己没有试过自己训练,没有显卡,我是按照大多数人的需求设置的现有参数,不过batch16可能确实小了。

bubbliiiing commented 1 year ago

不过在下游任务上,还是蛮多人反馈给我这个模型比官方的效果好,有可能我的设置更适合别的任务😂

bubbliiiing commented 1 year ago

image

cymdhx commented 1 year ago

我自己没有试过自己训练,没有显卡,我是按照大多数人的需求设置的现有参数,不过batch16可能确实小了。

那我mixup调成0.1 马赛克改成1先看看。batchsize 我估计我可以调成32. 这个在小目标检测上效果咋样

cymdhx commented 1 year ago

我自己没有试过自己训练,没有显卡,我是按照大多数人的需求设置的现有参数,不过batch16可能确实小了。

那我mixup调成0.1 马赛克改成1先看看。batchsize 我估计我可以调成32. 这个在小目标检测上效果咋样

祝大佬中秋快乐

bubbliiiing commented 1 year ago

我这里voc到了90多……我还没在别的网络上看到这么高过

bubbliiiing commented 1 year ago

应该小样本还很不错的

cymdhx commented 1 year ago

应该小样本还很不错的

我回头也跑小样本看一下

bubbliiiing commented 1 year ago

我自己没有试过自己训练,没有显卡,我是按照大多数人的需求设置的现有参数,不过batch16可能确实小了。

那我mixup调成0.1 马赛克改成1先看看。batchsize 我估计我可以调成32. 这个在小目标检测上效果咋样

祝大佬中秋快乐

你有重新跑嘛,有没有结果

cymdhx commented 1 year ago

我自己没有试过自己训练,没有显卡,我是按照大多数人的需求设置的现有参数,不过batch16可能确实小了。

那我mixup调成0.1 马赛克改成1先看看。batchsize 我估计我可以调成32. 这个在小目标检测上效果咋样

祝大佬中秋快乐

你有重新跑嘛,有没有结果

昨天开始跑的,还没跑完,可能因为马赛克设置为1了,所以精确度涨的比之前慢点,要看多运行几次epoch,看最终结果是不是涨了。

bubbliiiing commented 1 year ago

你现在的设置是啥捏

cymdhx commented 1 year ago

你现在的设置是啥捏

image

image

是这个 ,帮我看看对不对呗

cymdhx commented 1 year ago

你现在的设置是啥捏

image

image

是这个 ,帮我看看对不对呗

image

cymdhx commented 1 year ago

你现在的设置是啥捏

image

image

是这个 ,帮我看看对不对呗

up按照这个我需要加载 主干的预训练权重吗

bubbliiiing commented 1 year ago

emm……不需要label smooshing和freeze train应该

cymdhx commented 1 year ago

emm……不需要label smooshing和freeze train应该

好的

cymdhx commented 1 year ago

emm……不需要label smooshing和freeze train应该

好的

你好,估计能达到个ap 0.47左右,训练了200个epoch后面涨的特别特别慢了。 我看来源码的yaml文件 image 我想问下为什么他head部分的这个concat相加后通道数不应该是128 +128 +128 +128 +256 +256=1024吗,为什么我看他下面输入的是256呢

cymdhx commented 1 year ago

emm……不需要label smooshing和freeze train应该

好的

你好,估计能达到个ap 0.47左右,训练了200个epoch后面涨的特别特别慢。

bubbliiiing commented 1 year ago

在270代的时候没有小涨个map吗?270会关闭所有的增强诶。

bubbliiiing commented 1 year ago

256指的是这一层卷积后的输出,不是输入的通道

bubbliiiing commented 1 year ago

你是从0开始的吗

cymdhx commented 1 year ago

你是从0开始的吗

是的 没用权重

bubbliiiing commented 1 year ago

backbone的也木有吗

bubbliiiing commented 1 year ago

我这个结构部分应该都没什么错,loss直接复制的官方,如果按照我给的建议设置,差距应该在数据增强和batch,不知道是因为batch还是数据增强导致的低一点点

cymdhx commented 1 year ago

backbone的也木有吗

都没有用 我再调调参数看看吧

bubbliiiing commented 1 year ago

但是我看你给的参数里面,freeze train = True,你有改成False吗

bubbliiiing commented 1 year ago

我可以看看你现在的参数不0 0

cymdhx commented 1 year ago

我可以看看你现在的参数不0 0

image

bubbliiiing commented 1 year ago

你是最后用get map coco.py测试的不

bubbliiiing commented 1 year ago

https://github.com/bubbliiiing/yolov7-pytorch/blob/master/utils_coco/get_map_coco.py 这个应该会比训练得到的map高一些,训练的时候不考虑crowd的情况应该

cymdhx commented 1 year ago

https://github.com/bubbliiiing/yolov7-pytorch/blob/master/utils_coco/get_map_coco.py 这个应该会比训练得到的map高一些,训练的时候不考虑crowd的情况应该

那倒没有 我回头看一下

bubbliiiing commented 1 year ago

可以试试

cymdhx commented 1 year ago

可以试试

好的

rovebot commented 1 year ago

可以试试

好的

请问最后测试的结果有接近官方的精度吗