[881]内存不足RuntimeError: CUDA out of memory. Tried to allocate 16.00 MiB (GPU 0; 2.00 GiB total cap...

今天第一次在服务器上跑代码 也是第一次接触cuda显存卡

碰到了标题问题 将解决办法记录下来

1.

首先去查看cuda显存占用情况:

nvidia-smi

显示所有GPU的当前信息状态(图源网络 不想再去截图啦 介意可删)

如图片中第二列: 0 Mib/7605 Mib 这提醒我们内存并没有占满

因此我就去看了看是不是代码问题还是图片输入分辨率问题

接着考虑第二种情况

2.

如果是训练中出现这个提示,可考虑将batch_size调小一些 

如果在测试集中 在代码问题的上一行 加入with torch.no_grad():

if __name__ == '__main__':
    
    dehaze_list=[]
    gt_list=[]
    test_list = glob.glob("data/SOTS/HR_hazy/*")  
    
    for image in test_list:
        with torch.no_grad():
            clean_image=dehaze_image(image)
            print(image, "done!")
    ori_path = r"data/SOTS/HR/"
    for k in os.listdir(ori_path):
        ori_image=ori_path+k
        ori_image = Image.open(ori_image)
        ori_image=ori_image.resize((300,300), Image.ANTIALIAS)
        gt_list.append(ori_image)
        
   

3.

考虑训练图片分辨率太高

换数据集进行测试或者将图片大小改小一点 亲测有效!

 data_clean = Image.open(clean)
 data_clean=data_clean.resize((400,400),Image.ANTIALIAS)

你可能感兴趣的:(ubuntu)