caffe测试时报错 [....syncedmem.cpp:56] Check failed: error == cudaSuccess (2 vs. 0) out of memory

现象:

在caffe复现DenseNet的过程中,训练完成了,就到了测试阶段。当开始运行之后,过了一段时间发现报了一个错误。
F0523 12:55:04.591845 17608 syncedmem.cpp:56] Check failed: error == cudaSuccess (2 vs. 0) out of memory。爆内存了。如图所示。
在这里插入图片描述

分析一:batch_size

一般这个问题都是由于batch_size大小设置太大(训练时train_val中的TRAIN和TEST),导致内存不够用,但是由于DenseNet网络很深,需要的内存也很大。作者的显卡配置是1080Ti的,内存为11G。只有在train的batch_size和test的batch_size都设置为1的时候才能跑通。因此在测试的时候跟这部分已经没又关系了。只能和deploy文件有关系。

分析二:deploy文件

下图是输入层的设置,问题就出现在这儿。
在这里插入图片描述
首先分析每个参数的意义:

dim:10 #表示对待识别样本进行数据增广的数量,该值的大小可自行定义。但一般会进行5次crop,将整幅图像分为多个flip。该值为10则表示会将待识别的样本分为10部分输入到网络进行识别。如果相对整幅图像进行识别而不进行图像数据增广,则可将该值设置为1.
dim:3 #该值表示处理的图像的通道数,图像为RGB图像则通道数为3,设置该值为3
dim:224 #图像的长度
dim:224 #图像的宽度

问题就出现在第一个dim:10 网络并不需要进行数据增广,因此不需要设置,只需要设置为1。在这里插入图片描述
当改完之后,再次进行测试,完全可以跑通,完美!

作者:GL3_24
来源:CSDN
著作权归作者所有。转载请联系作者获得授权。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值