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

About Training SPPE #411

Closed
tangchen2 opened this issue Aug 25, 2019 · 27 comments
Closed

About Training SPPE #411

tangchen2 opened this issue Aug 25, 2019 · 27 comments
Assignees

Comments

@tangchen2
Copy link

你好作者,我这几天正在尝试在coco数据集上训练SPPE,第一阶段按照你们的步骤python train.py --dataset coco --expID exp1 --nClasses 17 --LR 1e-4 没有加入dpg训练,50个epoch之后acc大概只有55%左右,我看您在另一个issue中的解答是 等acc达到90以后再加入dpg操作,所以我尝试着在第一阶段的基础上python train.py --dataset coco --expID exp1 --nClasses 17 --LR 1e-5 --loadmodel '第一阶段的模型model_49.pkl' 将lr调为1e-5 然后load第一阶段的模型继续训练想进一步提高acc,但好像20个epoch之后acc也只有56% 提升并不明显。
想请问一下在这种情况下,我是继续衰减 lr且不加入dpg训练,还是直接加入dpg进行训练呢?望作者还能够指点一下,十分感谢!

@tangchen2
Copy link
Author

我又仔细思考了一下在训练过程中的问题,可能是因为我由于GPU显存的限制将batch size设置为8,导致训练过程震荡?之前一直忽略了batch对训练过程的影响,不知道这一点是否可能会影响模型的收敛性能,因为从今天的训练过程来看,以1e-5的学习率训练至34个epoch时acc只是勉强达到了60,且提升很慢,希望作者能够帮忙解答一下,谢谢!

@GuoHaiYang123
Copy link

我遇到了和你一模一样的问题,目前acc也在60.75%就提升不上去了,我也很纳闷不知道该怎么调整学习率,另外我想问一下你是把train和valid放在一起训练的吗?我是这么干的

@tangchen2
Copy link
Author

我遇到了和你一模一样的问题,目前acc也在60.75%就提升不上去了,我也很纳闷不知道该怎么调整学习率,另外我想问一下你是把train和valid放在一起训练的吗?我是这么干的

是的 我把COCO中的train和val放在一起进行训练的,请问你训练时batch_size调成了多少呢,我在想会不会是batch大小的原因导致训练方向出现了问题

@GuoHaiYang123
Copy link

我用的两块GTX1080Ti,试过好多次,在不out of memory的前提下尽量将batchsize设置得大,trainbatch 40,validbatch 16,我用1e-4的LR训练了50次,0.8e-4的LR训练了50次,再用1e-5的LR训练了50次,acc稳定在60.5%附近,不再上升,不知道怎么改

@tangchen2
Copy link
Author

我用的两块GTX1080Ti,试过好多次,在不out of memory的前提下尽量将batchsize设置得大,trainbatch 40,validbatch 16,我用1e-4的LR训练了50次,0.8e-4的LR训练了50次,再用1e-5的LR训练了50次,acc稳定在60.5%附近,不再上升,不知道怎么改

我今早看了下模型,我现在的模型是在lr=1e-4的情况下训练了80个epoch,acc基本在60%左右,我观察了以往的epoch,基本是训练一个epoch,acc上升0.05%效果相当缓慢,而且模型可能也出现了过拟合问题,validation 的acc基本保持在55%左右不会上升了
好像调小lr也不是很管用,不知道还是否有别的trick可以加以改进,我认为在这种情况下还是不能加入dpg,还是要先把acc学高了才行

@ZJU-lishuang
Copy link

ZJU-lishuang commented Sep 3, 2019

复现不出来作者的训练过程。
准确率上不去。
深度截图_选择区域_20190903150938

@chenxp106
Copy link

呜呜呜,好难受。我之前训练能达到80左右的准确率(但修改了一些代码)。这次我直接跑就只有50多的准确率了。

@ZJU-lishuang
Copy link

怎么跑到80的,我训练好几次都在50左右徘徊

@chenxp106
Copy link

怎么跑到80的,我训练好几次都在50左右徘徊
再次训练的时候不行了,同样的参数和代码,唯一不同的就是环境不一样。现在也是50左右了。

@Fang-Haoshu
Copy link
Member

我们之前用torch7那个版本训练的时候发现一个现象是torch版本不一样了准确率report的也不一样... 但是模型的performance是一样的,我们猜测是evaluation的时候代码跑出来的结果不一样,不过也没有找到问题。不知道pytorch版本会不会也有这个问题,我们最近在准备更新alphapose,用pytorch 1.1训练的话,模型report大概是6、70左右

@Jeff-sjtu
Copy link
Member

目前PyTorch分支的代码只支持0.4版本的pytorch,1.0以上版本的pytorch会有问题。在训练的时候,accuracy最多只能50左右。目前我们新版本的代码已经基本开发完成,届时模型以及训练log均会放出,修复了acc在50左右不上涨的问题。

@ZJU-lishuang
Copy link

@Jeff-sjtu 新版本有pytorch版本吗,crowdpose的训练代码也会放出吗

@Jeff-sjtu
Copy link
Member

@ZJU-lishuang 你好,新版本会先放出coco数据集上的训练代码与结果,crowdpose代码后续会补充。

@ZJU-lishuang
Copy link

ZJU-lishuang commented Sep 9, 2019

@Jeff-sjtu pytorch分支短期内没有crowdpose的训练代码,只有测试代码吗

@GuoHaiYang123
Copy link

我取消了cuDNN对BN层的加速,把pytorch1.1.0换成了pytorch0.4.1结果训练时显示train acc从58%直接变成了90%,valid acc 从55%直接变成86%,这种可怕的提升让我很不踏实,中间那30个点的提升是怎么回事?难道是pytorch的版本bug? @Fang-Haoshu

@Jeff-sjtu
Copy link
Member

@ZJU-lishuang 我们会尽快将crowdpose的代码整合到新版本的pytorch分支中,由于关于crowdpose的模型 以及baseline等需要重新训练好才能放出,所以需要等待一段时间。感谢您的关注!

@Jeff-sjtu
Copy link
Member

@GuoHaiYang123 你好,pytorch1.0以上的版本,修改了多个函数的默认返回值(比如torch.max的默认值等)。这些函数会影响heatmap accuracy的计算,从而导致heatmap accuracy的数值异常。这些问题我们已经在新版的代码中修复,很快就会放出,谢谢。

@GuoHaiYang123
Copy link

嗯嗯,好的,迫切期待你们的更新与修复 @Jeff-sjtu

@ZJU-lishuang
Copy link

@Fang-Haoshu @Jeff-sjtu 你好,使用pytorch1.1训练时,需要修改哪些函数才能得到正确的精度打印结果?希望能指明一下,谢谢。

@yangyuke001
Copy link

@GuoHaiYang123 你好,pytorch1.0以上的版本,修改了多个函数的默认返回值(比如torch.max的默认值等)。这些函数会影响heatmap accuracy的计算,从而导致heatmap accuracy的数值异常。这些问题我们已经在新版的代码中修复,很快就会放出,谢谢。

感谢你们的工作,期待新版本!

@lizhen2017
Copy link

在不修改代码的情况下,pytorch一定要用0.4.0或者0.4.1,按照readme里关闭bn的cudnn优化,其实就是把torch.nn.funtional的1245行的torch.backends.cudnn替换为False罢了,然后你会发现。按照readme里第一句运行,15轮测试和训练的acc就可以80了。

@GuoHaiYang123
Copy link

GuoHaiYang123 commented Dec 10, 2019 via email

@LH533
Copy link

LH533 commented Dec 21, 2019

@GuoHaiYang123 请教下,我想得到MAP,运行train_sppe文件夹里面的evaluation.py,显示少了一个argument,代码里面确实少了一个model,这个东西是什么,可以跟我说说

@Fang-Haoshu
Copy link
Member

Hi guys, we have just released the new master branch which is also PyTorch 1.1 based and easier to train. You can also take a look. The training logs are also available.
Regards.

@Fang-Haoshu
Copy link
Member

@GuoHaiYang123
Copy link

GuoHaiYang123 commented Jan 9, 2020 via email

@Parallax-ZHAO
Copy link

现在对于1.0以上的版本,pytorch-branch还会出现以上训练的问题吗?

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

10 participants