Deep learning 是否可以减少convert_imageset.cpp中的批处理图像数,以解决GPU内存不足的问题?

Deep learning 是否可以减少convert_imageset.cpp中的批处理图像数,以解决GPU内存不足的问题?,deep-learning,caffe,pycaffe,lmdb,deeplearning4j,Deep Learning,Caffe,Pycaffe,Lmdb,Deeplearning4j,我试图在caffe中对我的数据运行fcn。我能够通过convert\u imageset内置函数caffe将图像集转换为lmdb。然而,一旦我想训练网络,它给了我以下错误: Check failed: error == cudaSuccess (2 vs. 0) out of memory *** Check failure stack trace: *** ..... Aborted (core dumped) 我查阅了许多在线资源来解决内存故障,但大多数都建议减少批处理大小。甚至,我还将

我试图在caffe中对我的数据运行fcn。我能够通过
convert\u imageset
内置函数caffe将图像集转换为
lmdb
。然而,一旦我想训练
网络
,它给了我以下错误:

Check failed: error == cudaSuccess (2 vs. 0)  out of memory
*** Check failure stack trace: ***
.....
Aborted (core dumped)
我查阅了许多在线资源来解决内存故障,但大多数都建议减少批处理大小。甚至,我还将图像的大小减小到256x256。我还不能解决这个问题。 我用这个命令检查了GPU的内存
nvidia smi
,型号是
nvidia GT 730
,内存是
1998 MiB
。由于
train\u val.prototxt
中的批大小为1,因此我无法在
train\u val.prototxt
中执行任何操作。因此,我的问题是:

  • 通过查看终端中的日志文件,我意识到每当
    convert_imageset
    将数据转换为LMDB时,它就一组拍摄1000张图像。是否可以将的
    143
    151
    行中的数字更改为较小的数字(例如2;一次拍摄两张图像),重新编译caffe,然后使用convert_imageset将图像转换为lmdb?这有意义吗
  • 如果问题1的答案是肯定的,我如何再次编译caffe, 我是否应该删除
    build
    文件夹并再次从中执行caffe安装 刮伤
  • caffe如何处理LMDB数据?这就像在运行convert_imagenet时拍摄一批显示的1000幅图像一样吗
  • 非常感谢你的帮助。 谢谢

  • 另外,cuda内存不足时,每个事务(
    txn->Commit();
    )提交给lmdb的条目数没有影响

  • 如果出于任何原因想重新编译caffe,只需运行
    makeclean
    。这将清除所有内容,让您从头开始重新编译

  • 同样,AFAIK、caffe一次访问lmdb
    batch_size
    图像,而不考虑写入数据集时使用的事务大小

  • 您确定
    batch\u size
    训练和测试阶段都设置为1吗

  • 另外,cuda内存不足时,每个事务(
    txn->Commit();
    )提交给lmdb的条目数没有影响

  • 如果出于任何原因想重新编译caffe,只需运行
    makeclean
    。这将清除所有内容,让您从头开始重新编译

  • 同样,AFAIK、caffe一次访问lmdb
    batch_size
    图像,而不考虑写入数据集时使用的事务大小


  • 您确定
    batch\u size
    培训和测试阶段都设置为1吗?

    非常感谢您提供的信息。是的,这是FCN语义分割,批量大小为1。有什么办法解决我的问题吗?@S.EB购买一个内存更大的新GPU:|非常感谢您提供的信息。是的,这是FCN语义分割,批量大小为1。有什么办法解决我的问题吗?@S.EB购买一个内存更大的新GPU:|