wfs123456 / CCTrans

Code Reproduction
56 stars 8 forks source link

多卡训练 #23

Open 1171000410 opened 1 year ago

1171000410 commented 1 year ago

请问可以多卡训练吗?我使用nn.DataParallel的话,loss就会特别大,mae也特别大。

wfs123456 commented 1 year ago

可以多卡训,,loss是统一传到卡0计算梯度嘛,可以训几个epoch看看推理结果

---原始邮件--- 发件人: "Wenjie @.> 发送时间: 2023年2月22日(周三) 晚上11:25 收件人: @.>; 抄送: @.***>; 主题: [wfs123456/CCTrans] 多卡训练 (Issue #23)

请问可以多卡训练吗?我使用nn.DataParallel的话,loss就会特别大,mae也特别大。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

1171000410 commented 1 year ago

您好,我试了一下8卡训练,发现刚开始loss和mae特别大,几个epoch后能收敛。但是8卡bz=16时,sha的mae只能到56左右。并且8卡bz=16训练,甚至没有单卡bz=2快。我理解是不是和DM-COUNT的loss计算有关,因为DM-COUNT的源码也是默认assert self.device_count == 1 。

wfs123456 commented 1 year ago

多卡训练loss一开始很大正常,因为会统一传送梯度到0卡进行计算,,,没有单卡块,有可能是dmcount的原因,,我最早用的西工大高君宇的NWPU多卡训练会比单卡块的。  最后,多卡训练肯定比单卡快,,但多卡的精度不一定会比单卡好,除非你很赶时间,否则最好还是用单卡训比较好,因为人群计数本来数据集就不大。 另外sha数据集单卡bz一般设置为8以上才会有不错的结果

---原始邮件--- 发件人: "Wenjie @.> 发送时间: 2023年2月23日(周四) 上午10:28 收件人: @.>; 抄送: @.**@.>; 主题: Re: [wfs123456/CCTrans] 多卡训练 (Issue #23)

您好,我试了一下8卡训练,发现刚开始loss和mae特别大,几个epoch后能收敛。但是8卡bz=16时,sha的mae只能到56左右。并且8卡bz=16训练,甚至没有单卡bz=2快。我理解是不是和DM-COUNT的loss计算有关,因为DM-COUNT的源码也是默认assert self.device_count == 1 。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>