1. 程式人生 > >從零開始系列-Caffe從入門到精通之一 環境搭建

從零開始系列-Caffe從入門到精通之一 環境搭建

python 資源暫時不可用 強制 rec htm color 查看 cpu blog

先介紹下電腦軟硬件情況吧:

處理器: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從入門到精通之一 環境搭建