CUDA out of memory

RuntimeError: CUDA out of memory. Tried to allocate 4.35 GiB (GPU 0; 7.80 GiB total capacity; 4.37 GiB already allocated; 1.93 GiB free; 4.63 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
在这里插入图片描述
不知原因
且运行代码在cpu上可正常运行,只是慢了点,在gpu上报错:CUDA out of memory

试了几个方法
1、torch.cuda.empty_cache()
没用
2、是否模型太大
确定模型加载完成后,代码才开始崩溃

3、是否数据太大
先放30个图片,崩溃
10个,可正常运行
20个,正常运行

原因,数据以及数据的处理在gpu上负担不了

小tricks:

import time
t1=time.time()
xxxxxxx
t2=time.time()
print(t2-t1)

可知xxxxxx的运行时间

使用time.sleep可以在nvidia-smi看到在执行某一模块时内存突然加大。

你可能感兴趣的:(bug,深度学习,pytorch,python)