從零開始系列-Caffe從入門到精通之一 環境搭建
先介紹下電腦軟硬件情況吧:
處理器:Intel? Core? i5-2450M CPU @ 2.50GHz × 4
內存:4G
操作系統:Ubuntu Kylin(優麒麟) 16.04 LTS 64位
下面就是詳細的安裝過程(使用CPU,不使用GPU):
點擊這裏查看原文。
第一步:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出現問題:
無法獲得鎖 /var/lib/dpkg/lock - open (11: 資源暫時不可用)
....
解決辦法:
ps aux看有沒有相關進程在運行,運氣好的話也許等一會就好了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出現問題:
有幾個軟件包無法下載,要不運行 apt-get update 或者加上 --fix-missing 的選項再試試?
解決辦法:
sudo apt-get update
重新sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二步
這裏使用OpenBLAS
sudo apt-get install libopenblas-dev
第三步
下載caffe
git clone https://github.com/bvlc/caffe.git
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出現問題:
提示git尚未安裝。
解決辦法:
sudo apt-get install git
重新git clone https://github.com/bvlc/caffe.git
(註意國內下載有些慢,需要等一些時間)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第四步
修改配置文件
cd caffe
mv Makefile.config.example Makefile.config
打開Makefile.config文件
將
# CPU_ONLY := 1
改為
CPU_ONLY := 1
將
# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := atlas
改為
BLAS := open
第五步
開始編譯(加速編譯)
make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出現問題:
有錯誤,發現第一個問題與boost有關。
解決辦法:
sudo apt-get install --no-install-recommends libboost-all-dev
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
再次 make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出現問題:
./include/caffe/util/db_lmdb.hpp:8:18: fatal error: lmdb.h: 沒有那個文件或目錄
解決辦法:
sudo apt-get install liblmdb-dev
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
再次 make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出現問題:
src/caffe/layers/hdf5_output_layer.cpp:3:18: fatal error: hdf5.h: 沒有那個文件或目錄
解決辦法:
將Makefile.config中的
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
改為
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
再次 make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出現問題:
tools/caffe.cpp:6:27: fatal error: gflags/gflags.h: 沒有那個文件或目錄
解決辦法:
sudo apt-get install libgflags-dev
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
再次 make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出現問題:
./include/caffe/util/math_functions.hpp:7:26: fatal error: glog/logging.h: 沒有那個文件或目錄
解決辦法:
sudo apt-get install libgoogle-glog-dev
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
再次 make -j
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出現問題:
編譯過程中死機了。
解決辦法:
強制關機重啟,不使用-j選項了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
執行 make
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出現問題:
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: 找不到 -lhdf5_hl
/usr/bin/ld: 找不到 -lhdf5
collect2: error: ld returned 1 exit status
Makefile:572: recipe for target ‘.build_release/lib/libcaffe.so.1.0.0‘ failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1
解決辦法:
sudo find / -name libhdf5.so
find: `/run/user/1000/gvfs‘: 權限不夠
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so
於是將Makefile.config中的
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
改為
LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/local/lib /usr/lib
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
再次make
OK成功!
下一篇我們一起來運行手寫體數字識別例程。
作者: bigdata大數據
出處: http://www.cnblogs.com/bigdata01/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。 如有問題, 可郵件咨詢。
從零開始系列-Caffe從入門到精通之一 環境搭建