caffe常见错误总结

本文总结了在使用Caffe框架时遇到的典型错误,包括cuda invalid address、out of memory和misaligned address,并提供了相应的解决策略,如调整batchsize、检查GPU内存、重新编译Caffe等。
摘要由CSDN通过智能技术生成

Caffe常见错误

在使用深度学习框架caffe,搭建网络训练过程中总会遇到这样或那样的问题,下面我将自己在学习过程中遇到的常见问题进行总结【会陆续更新】

  • 错误一:cuda invalid address error
  • 错误二:out of memory (2 vs. 0)
  • 错误三:Check failed: error == cudaSuccess (74 vs. 0) misaligned address

1. cuda invalid address error

此类错误是kernel函数参数不允许传引用导致的。不用去检查网络结构了。换更高配置的显卡服务器即可。

2. out of memory (2 vs. 0)

出现该问题的原因是电脑内存不够,可能是GPU的运行内存使用过高;也可能是电脑的硬盘内存不够。

##解决办法:
(1)检查内存,硬盘内存不够的话就清理内存腾出空间来保存训练数据;
(2)硬盘内存足够的情况下查看GPU使用情况,终端输入nvidia-smi可查看;
GPU内存不多的话就减少网络的batchsize;

一般情况下我使用的是1080的显存有12G左右,训练30+层的网络,4848的块3倍的batchsize一般是64左右,2倍的batchsize一般是20-30,4倍的就更少了都在10左右,稍微大点就会提示内存不够,为了减少因为网络文件中的batchsize太小而导致不收敛的问题,可在solver文件中加大test_iter,从而增大实际的batchsize。 实际的batchsize=网络中的batchsizetest_iter,有时候不仅是训练batchsize太大会导致内存不够,实际训练batchsize=batchsizetest_iter太大也会导致该情况,减少batchsize即可,有时候为了避免训练的batchsize太小导致网络不收敛,在减小训练batchsize的时候可以适当增加solver文件中的test_iter。
###注:我试验过当网络中的batchsize设置非常小的时候(比如1、 2)即使增加test_iter网络收敛曲线仍是振荡的;batchsize 的正确选择是为了在内存效率和内存容量之间寻找最佳平衡,所以不是越大越好也不是越小越好,这个需要自己一点一点的试。。。尴尬,我常用的batchsize是32 48 64 128
batchsize对收敛的影响
图片来源超链接

3. Check failed: error == cudaSuccess (74 vs. 0) misaligned address

这个错误是caffe自带的bug引起的;
错误展示如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值