同一model可以进行批量大小为5的训练。由于相同的错误,我在训练期间将批次大小从80减少到5。我使用的是GPU,它具有11GB的内存,而不是Titan X(12GB的内存),这是作者在实际实验中使用的。
但是,现在正在测试中,它只有batch-size = 1,它没有运行。
该问题处于I-frame model
测试阶段,另外两个模型已经成功产生了测试结果。
以下是我的测试命令:
time python test.py --arch resnet152 --data-name ucf101 --representation iframe --data-root data/ucf101/mpeg4_videos --test-list data/datalists/ucf101_split1_test.txt --weights ucf101_iframe_model_iframe_model_best.pth.tar --save-scores iframe_score_file
我已经使用nvidia-smi
来确保GPU上没有其他东西在运行。
以下是实际的错误消息:
RuntimeError: CUDA out of memory. Tried to allocate 384.00 MiB (GPU 0; 10.92 GiB total capacity; 10.12 GiB already allocated; 245.50 MiB free; 21.69 MiB cached)
可能是什么问题,以及如何解决?
答案 0 :(得分:0)
我建议您可以先检查测试代码。
您可以尝试:
with torch.no_grad():
它将减少原本需要require_grad = True的计算的内存消耗。
原始答案(如果您有更大的GPU,则可以尝试):
也许模型本身和参数会占用大量内存。
您可以在以前使用的Titan X GPU上尝试“ batch-size = 1”,并查看GPU内存使用量是否超过11 GB。如果是这样,您现在使用的GPU(11 GB内存)可能不适合此工作。
答案 1 :(得分:0)
通过在问题中给出的测试命令中添加以下标志,我已经在内存高达8GB的GPU上运行了该模型/测试:
--test-crops 1