想请教一下为什么推理时需要设置batch size等于gpu nums
sdgtgfz opened this issue · 3 comments
sdgtgfz commented
我在自己的模型上进行训练与推理,并在其中运用BatchNorm,但带有BatchNorm进行单例forward的时候会出现error的情况,导致推理结果不理想。所以想请教大佬设置batch size等于gpu nums有什么必要性吗?小批量BatchNorm的问题有解决的方法吗?
ChaoFan996 commented
你好,步态序列是不定长的,多数步态模型在时序纬度有操作,当测试时候多个序列放在同一GPU上时,如果把多个序列cat在一起,时序操作会混淆不同步态序列的特征,导致结果错误,如果不cat一起,for循环地一个序列一个序列地提取特征,这跟一个GPU只放一个步态序列在效率上区别不大,代码却变复杂了。
我想应该有优化方案,欢迎提proposal!
sdgtgfz commented
你好,步态序列是不定长的,多数步态模型在时序纬度有操作,当测试时候多个序列放在同一GPU上时,如果把多个序列cat在一起,时序操作会混淆不同步态序列的特征,导致结果错误,如果不cat一起,for循环地一个序列一个序列一个序列地提取特征,这跟一个GPU只放一个步态序列在效率上区别不大,代码却变复杂了。 我想应该有优化方案,欢迎提提案!
谢谢大佬的解答,大概明白了您的意思,那如果在测试阶段把sampler类型设置为fixed,问题会得到改善吗
github-actions commented
Stale issue message