请问我单卡,训练的时候显存都没有炸,测试的时候torch.load就显示THCudaCheck FAIL file=/pytorch/aten/src/THC/THCCachingHostAllocator.cpp line=278 error=2 : out of memory,最后又报错RuntimeError: CUDA error: out of memory,测试代码也加了with torch.no_grad():。
您好,这种情况通常是由于测试时模型参数或输入数据过大,导致显存不足,可以考虑以下几种解决方案:
减少batch size或缩小输入图像的尺寸,以降低显存占用。
将测试数据分批次处理,以降低显存占用。
检查是否有未释放的显存,可以在代码中添加torch.cuda.empty_cache()命令来释放显存。
尝试减小模型的大小,比如减小网络深度、减少卷积核数量等。
如果您有多张显卡,可以尝试使用多卡并行来提高显存利用率。
另外,可以使用nvidia-smi命令来监控显存使用情况,查看哪些进程占用了显存过多。
不知道你这个问题是否已经解决, 如果还没有解决的话:针对该问题,可以采取以下解决方案:
具体可以根据情况选择合适的解决方案,综合多种方法来优化该问题。