天天看点

Caffe及SSD的配置总结

        用了大概两周的时间,终于完成了ubuntu16.04上caffe的配置,并成功实现了ssd的训练。

        百般艰辛,特作总结。

一、所用环境及版本

        版本匹配非常重要,在这一步浪费了很多时间。以下是我所用的版本。

ubuntu16.04,python2.7(系统自带)。(不推荐用python3,貌似支持很不好)

cuda 8.0.61_375.26(官网还有个补充包,没安装那个)。 cudnn5。驱动 Nvidia-Linux-x86_64_384.111

opencv 3.4.0 (推荐用opencv3,最开始用的opencv2,编译的时候缺少lib,换了3就好了)

make的时候还缺少两个lib,分别是libpng-1.6.34,zlib-1.2.9,网上说这个也要版本匹配,供参考。

二、caffe的配置

        官方:http://caffe.berkeleyvision.org/installation.html

    1、关于GPU

        cuda和驱动是之前配置tf的时候装好的,网上教程良莠不齐,甚至有错误的,可以参考:

http://blog.csdn.net/cdwxx1234/article/details/75121562

http://blog.csdn.net/u013502004/article/details/72876134

这是我感觉最全面有效的两篇文章。

        安装的时候注意:1,版本问题。cuda最好用8.0, 9.0有的时候不兼容。

                                   2、在控制台下安装,不能使用图形界面。

caffe貌似不支持cudnn6,我改成了cudnn5就没问题了。

    2、make之前的准备

        主要是修改文件:Makefile和Makefile.config

Makefile中需要修改的有:

        LIBRARIES = ..........(可能导致之后的找不到lib的问题)

        PYTHON_LIBRARIES ?= boost_python python2.7

Makefile.config中需要修改的有:

        use_cudnn, opencv_version等

        最重要的是70行左右的Python路径的修改,即 PYTHON_INCLLUDE :=.............. 以及是否使用anaconda(最好使用系统自带的,比较方便)

        with_python_layer := 1

        INCLUDE_DIRS := 和LIBRARY_DIRS :=

        其他需要修改的记不清了,有什么问题网上都有解决办法

关于make中的一些问题:    

    Q:make all时:对boost未定义的引用。

    A:添加boost_regex到makefile中。在makefile第260行左右添加boost_regex至 LIBRARIES += boost_thread stdc++,结果为LIBRARIES += boost_thread stdc++ boost_regex

    Q:找不到pyconfig.h

    A:参考http://blog.csdn.net/wangkun1340378/article/details/77949130

三、opencv3的编译安装

        按照网上教程即可,最后注意把路径导入。

四、SSD的配置

        官方:https://github.com/weiliu89/caffe/tree/ssd

        1、若caffe已经编译安装完成,则直接将caffe下的makefile和makefile.config复制过来即可。

        2、若提示no module named caffe, 则: export PYTHONPATH=$PATHONPATH:/home/user/caffe/python

        3、若使用python2,需要将creat_data.sh中的24行改为python2

        4、训练之前,根据自己的配置修改ssd_pascal.py,具体见:http://blog.csdn.net/samylee/article/details/51822832

继续阅读