我试图在我的caffe数据上运行fcn。我能够通过convert_imageset
内置函数caffe将我的图像集转换为lmdb
。但是,一旦我想训练net
,它给了我下面的错误:是否可以减少convert_imageset.cpp中批处理图像的数量以解决GPU内存不足的问题?
Check failed: error == cudaSuccess (2 vs. 0) out of memory
*** Check failure stack trace: ***
.....
Aborted (core dumped)
我经历了许多在线资源去解决内存故障,但其中大部分建议减少批量大小。甚至,我将图像的大小缩小到256x256。我还没有解决这个问题。 我用这个命令nvidia-smi
检查了GPU的内存,型号是Nvidia GT 730
,内存是1998 MiB
。由于train_val.prototxt
中的批量大小为1,因此我不能在train_val.prototxt
中做任何事情。所以我的问题是:
- 通过查看终端日志文件,我意识到,只要
convert_imageset
转换数据为LMDB,它正在1000图像在一组。是否有可能我将这个数字改成143
和151
的convert_imageset.cpp
更小(例如2;一次取两个图像),重新编译caffe,然后使用convert_imageset将图像转换为lmdb?是否有意义? - 如果问题1的答案是肯定的,我该如何再次编译caffe, 应该删除
build
文件夹,并再次从 从头开始执行caffe安装? - caffe如何处理LMDB数据?是否像运行convert_imagenet时显示一批显示1000个图像?
您的帮助真的很感谢。 谢谢...
非常感谢您的信息。是的,它是批量大小为1的FCN语义分段。对于我的问题,有没有解决方案? –
@ S.EB购买内存更大的新GPU。 :| – Shai
感谢您的帮助 –