一、安裝Caffe所依賴的安裝包
sudo apt install git
sudo apt install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
sudo apt install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev #blas庫
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
git clone https://github.com/BVLC/caffe.git #下載下傳linux版的caffe
二、安裝Anaconda
可在清華大學開源軟體鏡像源下載下傳自己所需要的anaconda版本,本次使用的是Anaconda3-4.2.0-Linux-x86_64.sh。在ubuntu的/home/user下運作
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-4.2.0-Linux-x86_64.sh #如果沒有,則需要安裝wget
bash Anaconda3-4.2.0-Linux-x86_64.sh #安裝anaconda,一路yes
另開啟一個terminal(ctrl+alt+t),輸入jupyter notebook進行激活,激活後關閉就可以了。接着配置jupyter notebook環境,同樣是在/home/user目錄下
jupyter notebook --generate-config #生成配置檔案
vim /home/user/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '*' # 設定所有ip通路
c.NotebookApp.open_browser = False # 禁止自動打開浏覽器
c.NotebookApp.notebook_dir = '/home/user/tensorflow'# 設定目錄,存放建立的檔案,其他根據自己的需要自行配置。
配置區域網路内,其他主機是否需要密碼通路,還是在/home/user下
ipython
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password: #需要密碼就輸入,無密碼通路就直接enter
Verify password:
In [3]: exit()
緻此,anaconda配置完成,再配置caffe。還是在/home/user目錄下。
'''
#這裡conda下載下傳的源預設是國外下載下傳,可能比較慢。可通過配置國内的下載下傳源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
#然後再執行下面操作,也可直接用國外的下載下傳源,建議國内源
'''
conda install libgcc
conda install protobuf
conda install -c menpo opencv3 #安裝opencv3
cd /home/user
vim ~/.bashrc
export LD_LIBRARY_PATH=/home/user/anaconda3/lib:$LD_LIBRARY_PATH
export PYTHONPATH=/home/user/caffe/python:$PYTHONPATH
source ~/.bashrc
cd /home/user/caffe #進入caffe目錄
cp Makefile.config.example Makefile.config
vim Makefile.config
CPU_ONLY := 1 #去掉"#"
OPENCV_VERSION := 3
#PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include #引掉
ANACONDA_HOME := $(HOME)/anaconda3
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python3.5m \
$(ANACONDA_HOME)/lib/python3.5/site-packages/numpy/core/include
PYTHON_LIBRARIES := boost_python-py35 python3.5m #修改為boost_python-py35,在/usr/lib/x86_64-linux-gnu目錄下檢視是否有libboost_python-py35.so
#PYTHON_INCLUDE := /usr/include/python3.5m \
/usr/lib/python3.5/dist-packages/numpy/core/include
#PYTHON_LIB := /usr/lib
PYTHON_LIB := $(ANACONDA_HOME)/lib
LINKFLAGS := -Wl,-rpath,$(ANACONDA_HOME)/lib #添加此行
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/
儲存後,進行配置pycaffe.py操作。
make pycaffe #編譯python接口
#成功後的結果為
'''
LD -o .build_release/lib/libcaffe.so.1.0.0
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
touch python/caffe/proto/__init__.py
PROTOC (python) src/caffe/proto/caffe.proto
'''
pycaffe編譯完成後,接下來,進入caffe目錄下
make all #如果出錯,執行make clean,更改配置檔案後,再重新執行此操作
make test
make runtest
如果編譯沒有錯誤後,測試過程
python #python環境測試
>>> import caffe as cf
>>> print(cf.__version__)
1.0.0
jupyter notebook #浏覽器測試
參考:http://www.yaoingwen.com/ubuntu16-04-anaconda-3-6-caffe/
參考:https://www.jianshu.com/p/5afdb561ce94
參考:https://blog.csdn.net/ch15717502064/article/details/78006351
參考:https://blog.csdn.net/Mrx_Nh/article/details/79888928