Verg-Avesta / CounTR

CounTR: Transformer-based Generalised Visual Counting
https://verg-avesta.github.io/CounTR_Webpage/
MIT License
92 stars 9 forks source link

关于预训练权重 #7

Closed xuebaobizui1 closed 1 year ago

xuebaobizui1 commented 1 year ago

尊敬的大佬您好,感谢您的杰出的工作!! 我正在尝试复现您的代码,我发现您提供的在FSC147上Fine-tuned weights文件FSC147.pth大小为1.1G

我从头开始训练,在Pretrain on FSC147阶段得到的权重文件大小是1.3G,大小与您提供的pretrain.pth文件(1.3G)吻合

但是,在Finetune on FSC147阶段 选用mae_vit_base_patch16参数最后得到的pth文件大小为481.9MB 选用mae_vit_base6_patch16 = mae_vit_base_patch16_fim6参数训练后得到的权重文件大小674.5MB 这与您最终分享的权重FSC147.pth1.1G相差过大 我该如何才能够得到正确大小的权重文件 您是否能解答我的疑惑

Verg-Avesta commented 1 year ago

我不确定你是用我的代码跑的,还是自己复现的呢? 在fine-tune时选用mae_vit_base_patch16就好,mae_vit_base6_patch16是用来进行消融实验的。

从你说的我不太能明白问题出在哪,或许你可以多提供一些信息? 比如你对代码是否进行了什么改动?或者你得到的pth文件能够进行测试吗,结果如何?

xuebaobizui1 commented 1 year ago

我是使用您提供的代码在RTX3090下跑的,就改了数据集路径和权重的路径,我尝试输出了一下481.9MB的和1.1G的两个pth文件中l的key和value,然后查看了其中model部分的value.size()和value.dtype,两者都是torch.float32类型的以及层数和形状都一样。不知道为什么文件大小相差如此巨大。 并且·我跑完之后,最优的轮数在950-999轮之间,在FSC147上test了一下MAE: 13.89, RMSE: 82.74,然后我尝试了直接使用您提供的权重FSC147.pth(1.1G)测试结果是MAE: 12.44, RMSE: 89.86,看上去我自己得到的结果似乎是可信的,但是我仍然疑惑,在权重文件大小相差如此之大的情况下,我的结果真的是准确的嘛?您能否给我提供一些建议呢?

Verg-Avesta commented 1 year ago

我也不太确定为什么会这样。。 可能由于某些库的版本的问题,导致类似optimizer之类的参数没有被保存下来? 你可以详细地调查一下两个文件里value.size()和value.dtype的区别

不过其实问题不大(大概) 只要model部分的参数没有问题就可以,结果肯定是准确的