sdanet如何单机多卡训练?
Closed this issue · 3 comments
Wang-fd commented
sdanet如何单机多卡训练?
Bobholamovic commented
请问您指的是STANet吗?如果是的话,STANet我刚刚测试过多卡训练是完全没有问题的。至于您提到的显存占用过多的问题,这是STANet算法本身的设计缺陷导致的:STANet需要计算两个时相影像中任意两个像素点的特征之间的相关关系,这一操作如果用相似度矩阵实现则空间复杂度极高(常见的实现均使用了相似度矩阵)。因为据我所知,包括Paddle在内的当前市面上几乎所有深度学习框架在多卡并行的时候都是在batch维度进行切分和分派的,而如果STANet的输入尺寸过大的话,即使batch_size为1也需要占用非常大的显存(可能超过一张卡的显存容量),所以多卡训练的策略并不能解决OOM的问题。我认为要解决这个问题应该还是得从输入影像的空间尺寸上入手,或者改进算法,降低注意力步骤的复杂度。
Wang-fd commented
Bobholamovic commented