由于受硬件性能瓶颈的限制,在笔记本上训练数据量不能太大;并且训练的时候网络结构的大小、prototxt中设置的batch_size大小也严重受到限制。
自己笔记本的配置情况:
- i5-2410处理器,试过用7类(100张/类)跑caffenet,卡的要死
- 4G内存,但是双系统只分配给ubuntu3G,用cpu跑数据还是会很吃力
- NVIDIA GEFORCE GT540M显卡,有1G显存
- 有ssd,但是未分配给linux,但是如果想要读取快,数据也可以在ssd上存取
手头数据就是上面说的7类数据,已经精简大部分了,为的是现在笔记本上跑跑看效果,配置好了各种东西后,执行train_val.prototxt后,报过类似以下几个错误
- symbol lookup error: /home/caffe/anaconda/lib/libreadline.so.6: undefined symbol: PC
- “error == cudaSuccess (2 vs. 0) out of memory”
第1种情况,可能是anaconda中的文件影响。此处未确认就是这个原因,但是出错后,先参照出现这种错误的解决办法,执行了rm掉anaconda/lib/libm.*文件后,又在caffe-master根目录下依次make clean/make all (-j4)/mak test(-j4)/make runtest(-j4)后情况就解决了。
第2种情况,就是显存不足的错误,把train_val.prototxt中的batch_size从256一路改到4才成功