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

大佬您好,感谢您发的邮件,我这里又遇见了个问题想向您请教。 #92

Closed
NcepuSKD opened this issue Feb 11, 2023 · 3 comments

Comments

@NcepuSKD
Copy link

当我训练NanoTrackerv2代码使用断点续存功能时,发现提示错误ValueError: loaded state dict contains a parameter group that doesn't match,我使用您提供的nanotrackv2.pth文件倒是没有问题。为了了解原因,我输出了您提供的最优模型里的["optimizer"]["param_groups"]时,发现nanotrackv2.pth文件里面没有保存backbone的["optimizer"]["param_groups"]。但是我用项目训练的模型却保存了这个参数,所以我训练的模型是2.9MB,比nanotrackv2.pth多了0.8MB。
然而我发现,backbone冻结的前十轮输出的模型也没有保存backbone的这个参数,用前十轮的.pth文件也能断点继续训练。
我想问以下,这个问题您是怎么解决的,还是说您backbone一直冻结了50轮呢。

@NcepuSKD
Copy link
Author

NcepuSKD commented Feb 11, 2023

大佬您好,我再补充一下,我用您的nanotrackv2.pth作断点继续训练时(它是34轮)发现,我得到35和36轮都是2.1MB,并且训练速度还很快,Speed: 0.057 s/iter,和我自己训练前10轮backbone冻结时候速度是一样的,我训练10-50时Speed: 0.102 s/iter。
我自己也尝试过backbone一直不参与训练,但是loss一直下不来,我比较了nanotrackv2.pth和第35轮的pth,发现backbone的state_dict是一样的,那就说明了backbone确实没参与训练。
但是我训练的这个代码里确实应该是设置的只冻结10轮,就算nanotrackv2.pth没有保存backbone的["optimizer"],应该也会继续训练backbone啊。
希望您能帮我解惑,谢谢您!

@HonglinChu
Copy link
Owner

冻结多少轮是自己可以选择的,一般用默认值10就可以。在后期模型微调的时候有尝试修改过这个参数,对模型精度的提升不大

@HonglinChu
Copy link
Owner

分类网络提取的特征并不适用于跟踪任务,backbone始终不进行权重更新肯定是不行的

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

No branches or pull requests

2 participants