深度學習框架caffe在ubuntu上無GUP編譯環境詳細配置

最近公司打算作人工智能方面,我這個什麼也不懂的菜鳥就被推出來扛起大旗,在網上隨便找了個貼子來安裝caffe,沒想到這一安裝步步爲坑,太多淚了
如今把詳細的踩坑過程記錄一下,以供後來人參考:

配置環境: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
  1. undefined reference to `cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'  
  2. .build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'  
  3. .build_release/lib/libcaffe.so: undefined reference to `cv::imread(cv::String const&, int)  


   這種狀況應該是庫沒有連接到,這個是採用網上找的方法,將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

相關文章
相關標籤/搜索