M3D 测试脚本内存问题
M3D 测试脚本内存问题 昨晚在测试M3D的时候,服务器的94GB内存全被占满,今天来调试发现问题就是这两行代码 q_pids.extend(pids) q_camids.extend(camids) 不知道原因是什么,改为 pids = pids.numpy().astype(np.int16) camids = camids.numpy().astype(np.int16) g_pids.append(pids) g_camids.append(camids) 就可以正常运行了。 CUDA 显存 测试的是Video-Person-ReID,models是里面的模型,在模型计算之后,要将model(img)等号左边的变量删除,才会释放内存,否则下次计算的时候就会出现CUDA显存不足 import torch import models import time img1=torch.randn(64,4,3,224,112).cuda() img2=torch.randn(20,4,3,224,112).cuda() imgs=[img1, img2] qf=[] for i,img in enumerate(imgs): model = models.init_model(name='resnet50tp', num_classes=625, loss={'xent', 'htri'}).cuda() model.eval() f = model(img) f = f.view(img.size()[0], -1) f = torch.mean(f, 0) f = f.data.cpu() qf.append(f) del f # 释放f的内存空间 #torch.cuda.empty_cache() print(torch.cuda.memory_allocated())