VS2019+caffe编译(CPU)和调试

安装caffe最麻烦的是需要安装很多的依赖包,这里将依赖包打包到一起,直接编译安装即可,省去了很多的麻烦。

1.编译环境:

Win10 + VS2019 + caffe cpu版本 + python3

caffe-windows和依赖包下载链接如下:

链接:https://pan.baidu.com/s/1-ivLyQ_pL2AuIu_mD3VFBg 
提取码:x2l9 
 

2、 编译依赖包:

我这里安装到“D://caffe/” 下

将下载的依赖包caffe-build-auto-v1.rar解压到D://caffe目录下,命名为caffe-build-auto。

打开VS2019的命令终端
x64 Native Tools Command Prompt for VS 2019

进入到caffe-build-auto/目录,可以找到build-VS2019.bat和build-VS2017.ba两个编译脚本

默认依赖安装包里有python2的库,如果安装python2可以直接执行build-VS2019.bat,如果使用python3的话,要修改build-VS2019.bat脚本如下(我使用的python3是在C://ProgramData/Anaconda3里):

@setlocal
@echo off

echo 1/11.修改部分packages...
::xcopy /y caffe-builder-patch\packages caffe-builder\packages /s
cmake -E  copy_directory caffe-builder-patch\packages caffe-builder\packages

echo 2/11.生成sln解决方案...
cd caffe-builder
Mkdir build
Cd build
cmake ../ -G "Visual Studio 16 2019"^
      -D CB_BUILD_ALL:BOOL=ON ^
      -D ZLIB_LIB_PREFIX:STRING=caffe ^
      -D ZLIB_BUILD_SHARED_LIBS:BOOL=ON ^
      -D GFLAGS_BUILD_SHARED_LIBS:BOOL=ON ^
      -D GLOG_BUILD_SHARED_LIBS:BOOL=ON ^
      -D HDF5_BUILD_SHARED_LIBS:BOOL=ON ^
      -D HDF5_LIB_PREFIX:STRING=caffe ^
      -D BOOST_BUILD_SHARED_LIBS:BOOL=ON ^
      -D LEVELDB_BUILD_SHARED_LIBS:BOOL=OFF ^
      -D LMDB_BUILD_SHARED_LIBS:BOOL=OFF ^
      -D OPENCV_BUILD_SHARED_LIBS:BOOL=ON ^
      -D PROTOBUF_BUILD_SHARED_LIBS:BOOL=OFF ^
      -D OPENBLAS_BUILD_SHARED_LIBS:BOOL=ON ^
      -D SNAPPY_BUILD_SHARED_LIBS:BOOL=OFF^
      -D PYTHON_EXECUTABLE:STRING=C:/ProgramData/Anaconda3/python.exe^
      -D GIT_EXECUTABLE:STRING=%CD:\=/%/../../caffe-builder-patch/PortableGit/bin/git.exe

echo 3/11.Copy相应的第三方源码到build文件夹...
cd ../../
::xcopy /y caffe-builder-patch\build caffe-builder\build /s
cmake -E  copy_directory caffe-builder-patch\build caffe-builder\build

echo 4/11.仅生成opencv_download.vcxproj..
cd caffe-builder\build\packages\opencv
devenv opencv.sln /Build "DEBUG" /Project opencv_download.vcxproj
cd ../../../../

echo 5/11.Copy opencv第三方包到caffe-builder\build\opencv\opencv_download-prefix\src\opencv_download\3rdparty文件夹...
::xcopy /y caffe-builder-patch\opencv-download\build caffe-builder\build /s
cmake -E  copy_directory caffe-builder-patch\opencv-download\build caffe-builder\build

echo 6/11.仅生成boost_download.vcxproj...
cd caffe-builder\build\packages\boost
devenv boost.sln /Build "DEBUG" /Project boost_download.vcxproj
cd ../../../../

echo 7/11.生成project-config.jam,设置use msvc
echo import option ;  > project-config.jam
for /f  "tokens=*" %%i in ('where cl.exe') do set CLPATH=%%i
set CLPATH=using msvc : 14.2 : "%CLPATH%";
echo %CLPATH% >> project-config.jam
echo option.set keep-going : false ;  >> project-config.jam

echo 8/11.生成project-config.jam,设置python3.6
set pythonPATH=C:\\ProgramData\\Anaconda3
if "%Platform%"=="x86" GOTO SETX86
if "%Platform%"=="x64" GOTO SETX64
:SETX86
set pythonPATH=%pythonPATH%
GOTO OUTPUTPYTHON
:SETX64
set pythonPATH=%pythonPATH%
GOTO OUTPUTPYTHON
:OUTPUTPYTHON
set pythonSTR=using python : 3.6 : "%pythonPATH% " : "%pythonPATH%\\include" : "%pythonPATH%\\libs" ;
echo %pythonSTR% >>project-config.jam

echo 9/11.拷贝project-config.jam
cmake -E  copy project-config.jam caffe-builder\build\packages\boost\boost_download-prefix\src\boost_download\project-config.jam
del project-config.jam

echo 10/11. 更新gflags、glog、snappy、leveldb的stamp
echo 请等待60s,请务中断,否则生成时间标签不够
timeout /T 60 /NOBREAK

cmake -E  copy caffe-builder-patch\build\packages\gflags\gflags_download-prefix\src\gflags_download-stamp\gflags_download-gitclone-lastrun.txt caffe-builder\build\packages\gflags\gflags_download-prefix\src\gflags_download-stamp\gflags_download-gitclone-lastrun.txt 
cmake -E  copy caffe-builder-patch\build\packages\glog\glog_download-prefix\src\glog_download-stamp\glog_download-gitclone-lastrun.txt caffe-builder\build\packages\glog\glog_download-prefix\src\glog_download-stamp\glog_download-gitclone-lastrun.txt 
cmake -E  copy caffe-builder-patch\build\packages\snappy\snappy_download-prefix\src\snappy_download-stamp\snappy_download-gitclone-lastrun.txt caffe-builder\build\packages\snappy\snappy_download-prefix\src\snappy_download-stamp\snappy_download-gitclone-lastrun.txt
cmake -E  copy caffe-builder-patch\build\packages\leveldb\leveldb_download-prefix\src\leveldb_download-stamp\leveldb_download-gitclone-lastrun.txt caffe-builder\build\packages\leveldb\leveldb_download-prefix\src\leveldb_download-stamp\leveldb_download-gitclone-lastrun.txt

echo 11/11.生成完成,项目文件build/caffe-builder.sln ...

::cd caffe-builder\build
::cmake --build .
popd
@endlocal

之后会自动生成caffe-builder.sln解决方案,进入到D:\caffe\caffe-build-auto\caffe-builder\build,

打开caffe-builder-master\build\caffe-builder.sln

选择解决方案配置为Release,编译生成解决方案即可。

如下错误并不影响。是config配置时测试信息。

 

3、编译caffe

1 下载源码
https://github.com/BVLC/caffe
git clone https://github.com/BVLC/caffe.git
cd caffe
git checkout windows
也可以解压caffe-windows.zip。默认为此。
2 配置和生成
 打开:
caffe-windows\caffe-windows\cmake\ WindowsDownloadPrebuiltDependencies.cmake
将脚本全部注释掉,在最后加一行:
include(D:/caffe/caffe-build-auto/caffe-builder/build/libraries/caffe-builder-config.cmake)

打开
caffe\caffe-build-auto\caffe-builder\build\libraries\OpenCVConfig.cmake
添加如下:

set(OpenCV_LIB_PATH "${OpenCV_CONFIG_PATH}/lib")

3 把BLAS的Atlas改为Open

下载Cmake,cmake-gui.exe。

 

4 配置python

点击Configure,Generate。
打开caffe.sln编译即可。

 

使用lenet训练使用参考:Caffe-windows入门学习,编译、训练、测试详细教程_wg-CSDN博客_caffe windows 编译


参考:https://blog.csdn.net/waji2000/article/details/105155198

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值