安装 boost:
1.环境检测:双击 bootstrap.bat,会自动生成 bjam.exe 和 b2.exe
2.安装:
(1) 完全安装boost bjam –buildtype=complete
(2) 选择安装:
命令: bjam –show-libraries 可查看所有必须编译才能使用的库。
单独编译安装regex库:
bjam stage --with-regex link=static runtime-link=shared threading=multi --toolset=msvc-12.0
编译结果在stage\lib目录下生成regex库(Debug/Release):
libboost_regex-vc100-mt-1_55.liblibboost_regex-vc100-mt-gd-1_55.lib
stage 仅创建和安装库文件(不创建头文件),可以用 –stagedir= 选项指定库的安装位置,默认安装在当前目 录下的stage文件夹内。 –with- 创建和安装指定的库,如果使用了这个选项,则仅仅指定的库被创建,其它库不被创建。如果不 指定这个选项,默认创建所有需要编译安装的库。 link=static指定生成静态regex库
threading=multi指定生成多线程库 runtime-link=shared指定动态链接C和C++ 运行库
解决 gflags, glog, protobuf 依赖库:
解压 3rdparty-VC12-x86.zip
执行 copydeps.bat 和 generatebp.bat 拷贝库文件到指定目录
在cmake中配置opencv 和 boost
需要在下面文件中配置:
mini-caffe-example/mini-caffe/mini-caffe.cmake
mini-caffe-example/CMakeLists.txt
set( ENV{OpenCV_DIR} D:/Software/OpenCV/2.4.13/opencv/build )
set( ENV{BOOST_DIR} D:/Software/boost_1_61_0 )
set(OpenCV_DIR $ENV{OpenCV_DIR})
set(BOOST_DIR $ENV{BOOST_DIR})
开始编译
进入mini-caffe-example中
mkdir build
cd build
cmake .. -G "Visual Studio 12 2013"
直接在cmake文件中按照如下配置 使用VS 2013 不可行。
#set( CMAKE_GENERATOR "Visual Studio 12 2013" )
#set(CMAKE_GENERATOR "Visual Studio 12 2013" CACHE INTERNAL "" FORCE)
问题集锦:
如果提示缺少boost库?
按照regex的方式安装 bjam stage –with-regex link=static runtime-link=shared threading=multi –toolset=msvc-12.0ALL_BUILD 找不到?把ex设为启动项目。
AddMatVector 不是成员属性?
链接出错?
Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type….. ?
http://blog.csdn.net/fangjin_kl/article/details/50936952
在main中包含 head.h
#include "caffe/common.hpp"
#include "caffe/layers/input_layer.hpp"
#include "caffe/layers/inner_product_layer.hpp"
#include "caffe/layers/dropout_layer.hpp"
#include "caffe/layers/conv_layer.hpp"
#include "caffe/layers/relu_layer.hpp"
#include "caffe/layers/pooling_layer.hpp"
#include "caffe/layers/lrn_layer.hpp"
#include "caffe/layers/softmax_layer.hpp"
#include "caffe/layers/memory_data_layer.hpp"
#include "caffe/layers/concat_layer.hpp"
namespace caffe
{
extern INSTANTIATE_CLASS(InputLayer);
extern INSTANTIATE_CLASS(InnerProductLayer);
extern INSTANTIATE_CLASS(DropoutLayer);
extern INSTANTIATE_CLASS(ConvolutionLayer);
REGISTER_LAYER_CLASS(Convolution);
extern INSTANTIATE_CLASS(ReLULayer);
REGISTER_LAYER_CLASS(ReLU);
extern INSTANTIATE_CLASS(PoolingLayer);
REGISTER_LAYER_CLASS(Pooling);
extern INSTANTIATE_CLASS(LRNLayer);
REGISTER_LAYER_CLASS(LRN);
extern INSTANTIATE_CLASS(SoftmaxLayer);
REGISTER_LAYER_CLASS(Softmax);
extern INSTANTIATE_CLASS(MemoryDataLayer);
extern INSTANTIATE_CLASS(ConcatLayer);
参考
- https://github.com/luoyetx/mini-caffe
- https://github.com/luoyetx/mini-caffe-example