admin管理员组

文章数量:1612067

问题描述:

在两块2080Ti显卡上训练去雾算法FFANet(gps=3, blocks=19),batch=2恰好能够正常训练,训练结束进行模型测试,每次读取一张图片进行模型推理,结果报错显存不够:

RuntimeError: CUDA out of memory. Tried to allocate 76.00 MiB (GPU 0; 10.76 GiB total capacity; 8.60 GiB already allocated; 75.19 MiB free; 8.61 GiB reserved in total by PyTorch)

分析:训练时候batch=2,一次读入两张图片,由于是去雾网络训练,所以正常情况batch=2时,读入的是两张清晰图像和对应的两张有雾图像,共四张图像。所以推理的时候,一次性读入一张图像显存足够,因此不是数据的问题,debug发现数据载入和模型加载都没有问题,下面是test的部分代码:

dehaze_net = net.dehaze_net(gps=3,blocks=19).cuda()
	dehaze_net = torch.nn.DataParallel(dehaze_net)
	cudnn.benchmark = True
	dehaze_net.load_state_dict(torch.load('logs/logs1/Epoch100-Total_Loss0.0036-Val_Loss0.0000.pth'))

	clea

本文标签: allocateMIBCUDAMemoryTotal