一、环境
系统 Mac
conda 4.5.11
这里推荐anaconda来配置需您环境进行管理python。通过他来建立虚拟环境从而进行环境隔离,方便临时调试。
python 3.6
opencv 4.1
二、软件准备
anaconda
查看所有环境
conda envs --info
创建指定python版本及该环境名称
conda create --name test_name python=3.6
进入该环境,进入后会看到命令行前面有当前环境的名称,表示已经处于当前的python环境中
conda activate test_name
opencv4.1
这里下载的是Sources文件,自己完成编译安装。
官网下载
- 1.解压缩包
- 2.进入opencv文件夹后创建build文件夹
cd oepncv
mkdir build - 3.配置opencv
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON .. - 4.安装opencv
make -j6
make install - 5.验证
输入如下命令查看版本号是否正确opencv_version
brew及相关软件
下载brew
|
下载相关软件
|
protobuf
这里需要注意在安装protobuf的时候,需要查看一下版本,最好限定在3.5.1内,我在使用brew安装就是这个版本。brew install protobuf
如果版本超出,则需要自己下载包并自己编译安装。wget https://github.com/protocolbuffers/protobuf/archive/v3.5.1.zip
unzip v3.5.1.zip
cd protobuf-3.5.1
./autogen.sh
./configure
make
make install
Caffe下载
|
这样下载的软件就好了。
三、配置文件
此时开始配置Caffe项目。
config文件拷贝
|
修改common.hpp文件
打开./include/caffe/common.hpp
文件,找到70行,并在后面添加如下代码:// Supporting OpenCV4
#if (CV_MAJOR_VERSION == 4)
#define CV_LOAD_IMAGE_COLOR cv::IMREAD_COLOR
#define CV_LOAD_IMAGE_GRAYSCALE cv::IMREAD_GRAYSCALE
#endif
修改Makefile.config文件(重要)
这里开始修改Makefile.config文件,这里非常重要,每一步都需要保证准确即可。
- 1.取消 CPU_ONLY 前面的注释符号
- 2.取消 USE_OPENCV 前面的注释符号
- 3.取消 USE_HDF5 前面的注释符号,并将值改成 1
- 4.取消 OPENCV_VERSION 前面的注释符号,并将值改成 4
- 5.将 BLAS 的值改成 open
- 6.配置python路径(有brew和anaconda两种方式,根据环境决定)
- 7.取消 WITH_PYTHON_LAYER 前面的注释符号
- 8.增加部分库的环境配置,有些库由于安装方式可能需要手动引入
- 9.blas环境配置
- 10.Mac需要添加CXX配置项
下面是上述配置的最终代码(注意这里并不是最终文件而是需要修改的代码样式):# 1.取消 CPU\_ONLY 前面的注释符号
CPU_ONLY := 1
# 2.取消 USE\_OPENCV 前面的注释符号
USE_OPENCV := 0
# 3.取消 USE\_HDF5 前面的注释符号,并将值改成 1
USE_HDF5 := 1
# 4.取消 OPENCV\_VERSION 前面的注释符号,并将值改成 4
OPENCV_VERSION := 4
# 5.将 BLAS 的值改成 open
BLAS := open
# 6.配置python路径(有brew和anaconda两种方式,根据环境决定)
ANACONDA_HOME := $(HOME)/anaconda3/envs/end_plate_demo
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python3.6m \
$(ANACONDA_HOME)/lib/python3.6/site-packages/numpy/core/include
PYTHON_LIB := $(ANACONDA_HOME)/lib
# 7.取消 WITH\_PYTHON\_LAYER 前面的注释符号
WITH_PYTHON_LAYER := 1
# 8.增加部分库的环境配置,有些库由于安装方式可能需要手动引入
# 这里引入了openblas和boost-python3的lib库
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/local/Cellar/openblas/0.3.10_1/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/local/Cellar/openblas/0.3.10_1/lib /usr/local/Cellar/boost-python3/1.73.0/lib
# 9.blas环境配置
BLAS_INCLUDE := $(shell brew --prefix openblas)/include
BLAS_LIB := $(shell brew --prefix openblas)/lib
# 10.Mac需要添加CXX配置项
CUSTOM_CXX := clang++ -std=c++11
四、预编译
|
五、修改编译后的文件配置
进入build文件夹
修改CaffeConfig.cmake
查找并修改代码如下:set(Caffe_CPU_ONLY ON)
修改CMakeCache.txt(重要)
注意,这里的代码修改非常重要,失败的原因是没有修改Boost相关路径导致。
Python
|
CXX
|
Boost
|
CUDA
|
六、再次编译
|
七、环境引入
|