Ubuntu 16.04 anaconda3虛擬環境caffe3下安裝編譯caffe並用caffe訓練MNIST數據集

雖然在這篇博客裏面裝了caffehttps://blog.csdn.net/kellyroslyn/article/details/96835290, 但是後來發現沒有去掉WITH_PYTHON_LAYER :=1USE_CUDNN:=1的註釋,就編譯安裝了。發現問題回去修改,再編譯的時候總是出錯,顯示找不到lopencv_imgcodecs文件,即使修改了Makefile在裏面添加lopencv_imgcodecs也無濟於事。所以現在重新下載重新編譯。

環境:Ubuntu16.04
Anaconda3 虛擬環境:caffe3

一、安裝Opencv

已經

source activate caffe3
pip install opencv-python==3.2.0.8
pip install opencv-contrib-python

在這裏插入圖片描述

二、下載caffe

現在在caffe3環境的基礎上,重新克隆caffe安裝包到home/drl/workspace/目錄下,然後重新修改Makefile.config和Makefile

(疑問:把caffe安裝包放在anaconda3/envs/caffe3/目錄下的一直編譯不出來,不知道是不是因爲路徑的問題;放在home/drl/workspace/目錄下就一次性編譯成功。有可能是因爲在anaconda3/envs/caffe3/路徑下的時候我是直接copy caffe35編譯成功的Makefile.config和Makefile所導致的)

在這裏我是用cp Makefile.config.example Makefile.config命令得到Makefile.config之後再修改

三、Makefile.config修改內容如下:

1、USE_CUDNN: =1 去掉註釋
2、USE_OPENCV :=1去掉註釋,並將0值改爲1
3、CUDA_ARCH 去掉20和21兩行
4、註釋 PYTHON_INCLUDE := /usr/include/python2.7
/usr/lib/python2.7/dist-packages/numpy/core/include (大概在69行的位置)
5、去掉 ANACONDA_HOME和PYTHON_INCLUDE的註釋,並改寫python的路徑和版本
6、註釋掉 PYTHON_LIB := /usr/lib,然後去掉PYTHON_LIB := $(ANACONDA_HOME)/lib的註釋
7、去掉 WITH_PYTHON_LAYER := 1的註釋
8、在INCLUDE_DIRS := $(PYTHON_INCLUDE)/usr/local/include 後面添加 /usr/include/hdf5/serial/
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

四、Makefile文件的修改:

主要修改Derive include and lib directories部分的內容
1、P198行,LIBRARIES += hdf5_hl_serial改爲LIBRARIES += hdf5_serial_hl hdf5_serial
2、201行,
LIBRARIES += opencv_core opencv_highgui opencv_imgproc改爲

LIBRARIES += opencv_imgcodecs opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

(因爲opencv2沒有imgcodecs這個模塊,如果不在LIBRARIES裏面添加愛,會提示找不到lopencv_imgcodecs)

3、208行,PYTHON_LIBRARIES ?= boost_python python2.7改爲

PYTHON_LIBRARIES ?= boost_python3 python3.5m

在這裏插入圖片描述

五、編譯caffe

我只用了make編譯,沒使用cmake,在caffe目錄下執行make all -j8,編譯完之後執行make pycaffe -j8
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述六、拷貝編譯後的libcaffe.so至caffe的虛擬環境
首先,切換到caffe/python目錄,然後執行cp -rf caffe/ ~/anaconda3/envs/caffe35/lib/python3.5/命令,這一步命令將python包拷貝至虛擬環境目錄;cp -rf ../.build_release/lib/ ~/anaconda3/envs/caffe35/lib/ 命令,這一步將相關庫拷貝至虛擬環境目錄。

cd python/
cp -rf caffe/ ~/anaconda3/envs/caffe35/lib/python3.5/
cp -rf ../.build_release/lib/ ~/anaconda3/envs/caffe35/lib/

在這裏插入圖片描述

七、在上述所有的步驟執行完以後,在虛擬環境下,需要安裝一些caffe依賴的python庫,如下所示:

pip install scikit-image protobuf

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

八、caffe訓練MNIST數據集

首先將之前下載好的mnist數據集放到workspace/caffe/data/mnist/目錄下,然後解壓,具體步驟如下所示:
詳細流程看:https://blog.csdn.net/kellyroslyn/article/details/96183663的第八部分。

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章