Ubuntu16.04 + caffe-ssd + [CPU_ONLY] + KITTI 训练总结
本次训练主要参考:http://blog.csdn.net/jesse_mx/article/details/65634482
感谢 Jesse_Mx ,帮助了我很多。
坑一【openCV未安装成功】:
openCV未安装成功会导致各种莫名的问题,比如:“No module named cv2”问题。
然而,正确解决openCV安装问题也不是一路畅通。下面是经过多次失败个人总结的openCV安装方法:
主要参考:
在Ubuntu中安装并测试OpenCV http://blog.csdn.net/pengz0807/article/details/49915573
使用的opencv版本是2.4.10
其中,CMake 命令改为:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -DWITH_EIGEN=OFF ..
sudo sh -c 'echo"/usr/local/lib">/etc/ld.so.conf.d/opencv.conf
要改为
sudo sh -c 'echo "/usr/local/lib">/etc/ld.so.conf.d/opencv.conf
解决“No module named cv2”问题:
sudo pip install opencv-python
ps:安装2.x版本的不需要下载 ippicv_linux_20151201.tgz 这个东西,3.x版本的需要
坑二【编译caffe】:
caffe的编译需要很多依赖库,所以安装过程中出现各种各样的奇葩问题是很正常的。下面是caffe安装:
主要参考网址:参考网址:http://blog.csdn.net/muzilinxi90/article/details/53673184
注意:git clone https://github.com/BVLC/caffe.git 这个会很慢
其中:
for req in $(cat requirements.txt); do pip install $req; done
替换为:
for req in $(cat requirements.txt); do sudo -H pip install $req --upgrade; done
需要多执行几次,以确保完全安装成功,没有任何问题!
【解决:ubuntu 没有/usr/include/hdf5/serial/】
Step 1
在Makefile.config文件的第85行,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
Step 2
在Makefile文件的第173行,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
【解决:没有get_image_size工具,提示找不到get_image_size】
那是因为使用的是原版的caffe,需要切换至caffe-ssd分支:
方法一:
git clone https://github.com/weiliu89/caffe.git
cd caffe/
git checkout ssd # 切换至分支ssd
方法二:
直接下载github的zip包:https://github.com/weiliu89/caffe/tree/ssd
坑三【CPU_ONLY】:
使用CPU_ONLY模式编译caffe会遇到更多的问题,所以强烈建议使用GPU模式。
如果出现训练终端,并报错类似以下错误:
sgd_solver.cpp:] Iteration ,lr = 0.001
math_functions.cpp:] Check failed: a <= b < vs -1.19209e-007>
*** Check failure stack trace ***.
那么可以找到对应的cpp文件,在对应的位置注释掉类似下面的代码。
// CHECK_LE(a, b);
然后重新编译pycaffe和make all,并重新开始训练。
【解决:训练中断,提示内存不足】
即使改过batch_size的值,在低配置的机器还是有可能出现以下错误:
Check failed: *ptr host allocation of size failed
*** Check failure stack trace: ***
@ 0xb72472b5 google::LogMessage::Fail()
@ 0xb724957f google::LogMessage::SendToLog()
@ 0xb7246dee google::LogMessage::Flush()
@ 0xb724a06d google::LogMessageFatal::~LogMessageFatal()
@ 0xb76190b9 caffe::SyncedMemory::mutable_cpu_data()
@ 0xb73e8260 caffe::Blob<>::mutable_cpu_data()
@ 0xb7505c51 caffe::PoolingLayer<>::Forward_cpu()
@ 0xb7413e15 caffe::Net<>::ForwardFromTo()
@ 0xb7414062 caffe::Net<>::Forward()
@ 0xb7637d51 caffe::Solver<>::Step()
@ 0xb76388a9 caffe::Solver<>::Solve()
@ 0x8053221 train()
@ 0x804eff8 main
@ 0xb69e2637 __libc_start_main
@ 0x804f8cb (unknown)
此时,就需要换配置了。。。。。。。没其他办法。。。。。。
Ubuntu16.04 + caffe-ssd + [CPU_ONLY] + KITTI 训练总结的更多相关文章
- ubuntu16.04 + caffe + SSD + gpu 安装
昨天我们买好了硬件,今天我们开始安装caffe了,我本人安装过caffe不下10次,每次都是一大堆问题,后来终于总结了关键要点,就是操作系统. 1. 千万不要用ubuntu17.10来安装, 2. 最 ...
- ubuntu16.04 + caffe + SSD 硬件配置
搞了几个月,终于把SSD试通了,不是科班出身的就是弯路多啊.几个月才跑通了caffe + ssd,痛苦至极,好在柳暗花明.好了,废话不多说,入正题. SSD作为object detection的论文, ...
- 【软件安装与环境配置】ubuntu16.04+caffe+nvidia+CUDA+cuDNN安装配置
前言 博主想使用caffe框架进行深度学习相关网络的训练和测试,刚开始做,特此记录学习过程. 环境配置方面,博主以为最容易卡壳的是GPU的NVIDIA驱动的安装和CUDA的安装,前者尝试的都要吐了,可 ...
- ubuntu16.04+caffe+python接口配置
在Windows上用了一个学期的caffe了.深感各种不便,于是乎这几天在ubuntu上配置了caffe和它的python接口,现在记录配置过程,亲测可用: 环境:ubuntu16.04 , caff ...
- Ubuntu16.04安装TensorFlow及Mnist训练
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com TensorFlow是Google开发的开源的深度学习框架,也是当前使用最广泛的深度学习框架. 一.安 ...
- ubuntu16.04 使用tensorflow object detection训练自己的模型
一.构建自己的数据集 1.格式必须为jpg.jpeg或png. 2.在models/research/object_detection文件夹下创建images文件夹,在images文件夹下创建trai ...
- ubuntu16.04+caffe训练mnist数据集
1. caffe-master文件夹权限修改 下载的caffe源码编译的caffe-master文件夹貌似没有写入权限,输入以下命令修改: sudo chmod -R 777 ~/caffe-ma ...
- ubuntu16.04+caffe+GPU+cuda+cudnn安装教程
步骤简述: 1.安装GPU驱动(系统适配,不采取手动安装的方式) 2.安装依赖(cuda依赖库,caffe依赖) 3.安装cuda 4.安装cudnn(只是复制文件加链接,不需要编译安装的过程) 5. ...
- ubuntu16.04 caffe(GPU模式)安装
历时5天终于完成了,配置中出现了各种各样的Error,这里记录一下,希望能为正在安装的人提供一点帮助. 配置中主要参考博客:http://blog.csdn.net/yhaolpz/article/d ...
随机推荐
- [瞎玩儿系列] 使用SQL实现Logistic回归
本来想发在知乎专栏的,但是文章死活提交不了,我也是醉了,于是乎我就干脆提交到CNBLOGS了. 前言 前段时间我们介绍了Logistic的数学原理和C语言实现,而我呢?其实还是习惯使用Matlab进行 ...
- OC中NSFileManager
NSFileManager介绍 NSFileManager是用来管理文件系统的 它可以用来进行常见的文件\文件夹操作(拷贝.剪切.创建等) NSFileManager使用了单例模式singleton ...
- oracle的神奇化学反应(行转列+获取表字段)
橘子+汽水=橘子汽水,∑(゚Д゚ノ)ノ好无聊!!! 火鸡+烤架=烤火鸡,ლ(´ڡ`ლ)还不错. wm_concat()+表字段查询=(✪ω✪)会是啥呢? wm_concat()函数,该函数可以把列值以 ...
- win彩 百款皮肤任选任换.可视化
- React入门---基础知识-大纲-1
-----------------在慕课网学习react入门笔记-------------- ---------博主边学边记录,手把手进行学习及记录---------- --------------- ...
- DDD理论学习系列(2)-- 领域
DDD理论学习系列目录 1. 引言 领域一词,主要有以下两个意思: 一国主权所达之地. 学术思想或社会活动的范围. 不管是指国家的主权范围也好还是学术活动范围,都是在讲一个范围,一个界限. 比如我们常 ...
- CountDownLatch——闭锁的实现之一
CountDownLatch实际上是一种闭锁实现.闭锁:是一种同步工具类,可以延迟线程的进度知道其到达终止状态--<Java并发编程实战>.这个怎么解释呢?简单来说,就是有1个线程需要等待 ...
- 比较容易理解的---原生js瀑布流
最近一直在恶补基础JS H5 CSS3的基础知识 关于这个瀑布流: 本来打算看着教程来做的. 不过 感觉理解起来有点复杂. SO, 自己参考教程默写了一个.. 目前我所接触过的瀑布流布局分为2大类 主 ...
- 树莓派控制GPIO(Python)
如果你的raspi没有安装python那么先 sudo apt-get update sudo apt-get install python-dev 例如想要控制35管脚的亮灭: 先建一个文本 ...
- javaWeb学习总结(11)- 监听器(Listener)学习
一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其 实就是一个实现特定接口的普 ...