天天看點

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

繼續閱讀