Caffe的坑

caffe自带的opencv库是2.10 可升级到2.11,不支持cuudn,装opencv3.4.1后,现在nuget里卸载opencv,boost。

然后配置opencv3.4.1

选择通用属性——>VC++目录——>包含目录,添加以下三个目录

Caffe的坑

2 库目录的配置

选择通用属性——>VC++目录——>库目录,添加以下目录

Caffe的坑

3 链接库的配置

选择通用属性——>链接器——>输入——>附加依赖项,添加以下17个库

opencv_calib3d341.lib

opencv_core341.lib

opencv_dnn341.lib

opencv_features2d341.lib

opencv_flann341.lib

opencv_highgui341.lib

opencv_imgcodecs341.lib

opencv_imgproc341.lib

opencv_ml341.lib

opencv_objdetect341.lib

opencv_photo341.lib

opencv_shape341.lib

opencv_stitching341.lib

opencv_superres341.lib

opencv_video341.lib

opencv_videoio341.lib

opencv_videostab341.lib

然后先编译libcaffe,出现问题 :caffe.pb.h(2538): error C2059: 语法错误:“常量” (..\..\src\caffe\data_reader.cpp)

找到位置

static const DimCheckMode STRICT = V1LayerParameter_DimCheckMode_STRICT;
static const DimCheckMode PERMISSIVE = V1LayerParameter_DimCheckMode_PERMISSIVE
排错方法:在STRICT和PERMISSIVE前加个_,也就是改个名字,则可以集成到MFC中。
编译通过。

Caffe的坑

训练准确率提高了,不知道gpu比cpu运行快了多少。