取resnet50的4个stage的feature map并resize到256*256进行特征融合,出现显存溢出问题
以最后一个fm为例,fm的shape为10*2048*8*8,占5M显存,resize后为10*2048*256*256,占5120M显存,即interpolate这一步操作就会给结果分配5G的显存,可以考虑在用完这个中间结果后使用
del feature
torch.cuda.empty_cache()
来手动释放资源
虽然可以在一定程度上解决显存溢出的问题,但是在每次forward时都需要重新分配内存,速度明显变慢,原来8.5s跑完的任务耗时变为58s左右