配置環境:Ubuntu14.04
一、先下載caffe源碼,在https://github.com/BVLC/caffe直接下載仍是用wget下載均可以。
二、解壓後會看到裏面既有Cmakelist文件和Makefile,Makefile.config用make直接編譯和cmake都是能夠的,兩種方式我都測試了,下面講一下直接make的方式。
三、先作準備工做安裝依賴庫,打開caffe的官方安裝文檔http://caffe.berkeleyvision.org/install_apt.html,其實直接用官方的東西是最好的,仍是少搜貼子了,html
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devsudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev 因爲是Ubuntu14.04的還要加幾個包
四、注意注意 這裏安裝完的opencv版本應該是2.7的,很關鍵後面會用到。要以用 pkg-config --modversion opencv查看一下版本
五、準備Makefile的配置文件,目錄下自己就有個例子咱們改改就能夠了cp -rf Makefile.config.example Makefile.config,打開 Makefile.config
打開這個選項,只用CPU編譯,因爲先前安了很久的cuda都裝不上,多是個人機器顯卡有問題,都快崩潰了,後來果斷放棄改用cpu
六、有的地方好像還用atlas我也忘了,反正先裝上吧sudo apt-get install libatlas-base-dev
七、而後直接make -j4
八、因爲之前本身還安裝了opencv3.6的庫,這下出了很大的麻煩,caffe默認去找了3.6的庫,這樣就會出現找不到libIlmImf.so的狀況,新的opencv3.6是不帶so文件的,有三種方法能夠解決
1.將新版本卸載,2.採用opencv版本切換這個能夠網上搜一下很用弄,3.將舊版本的庫複製到新版本的目錄下,舊版本是/usr/lib/下,新版本是在/usr/local/lib下
九、此次再從新編譯有的會出現python
[cpp] view plain copy
|
這種狀況應該是庫沒有連接到,這個是採用網上找的方法,將opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs加到LIBRARIES下,git
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs |
記得要make clean 或者rm -rf ./build/*,而後再make
十、順利編譯成功,有點小興奮唉。。。
十一、進入cd build/tools/,下面應該有個caffe的可執行文件,運行一下試試會彈出這麼一坨,基本已經安裝成功了。
十二、由於下面的例子通常都是python的還須要安裝一下python庫,github
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev |
1三、跑一個小例子,知足一下好奇心,http://caffe.berkeleyvision.org/model_zoo.html這上面是有不少牛人的模型,咱們下載一個測試一下。
1四、咱們測試一下識別圖片的小例子吧,回到根目錄下有個scripts目錄,app
./scripts/download_model_binary.py models/bvlc_reference_caffenet |
1五、接下來下載對應的標籤文件
測試
./data/ilsvrc12/get_ilsvrc_aux.sh |
1六、在網上隨便下載了圖片,放在了examples/images/dada.jpg
運行模型進行檢測ui
./build/examples/cpp_classification/classification.bin \ models/bvlc_reference_caffenet/deploy.prototxt \ models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel \ data/ilsvrc12/imagenet_mean.binaryproto \ data/ilsvrc12/synset_words.txt \ examples/images/dada.jpg |
看見輸出結果顯示
88%的機率是非洲象,這個區分的仍是很細的,本身也能夠下載一下大牛的模型本身試試哦,後面也會傳一些本身訓練的模型上來
有什麼不明白的給我留言。google