##一,准备条件

1:下载Caffe-Windows(BLVC),地址:https://github.com/BVLC/caffe/tree/windows,并解压到指定的文件夹Caffe下。

2:安装CMake3.4以上版本,并将其安装包下的bin路径到系统环境Path变量中。

3,下载anaconda 3 4.2.0 (一定要python3.5或者2.5版本的,本文是3.5的)https://repo.continuum.io/archive/

4,VS2015

5,编译时下载的包文件:https://github.com/willyd/caffe-builder/releases/download/v1.0.1/libraries_v140_x64_py35_1.0.1.tar.bz2

##二,开始安装

1,安装VS2015,详细教程见以下链接 :VS2015安装教程

2,在GitHub中下载caffe源码:https://github.com/BVLC/caffe/tree/windows,解压到D:\Caffe_Prj\下。

3,依次分别安装anaconda3,Cmake3.4,安装完成后,将python.exe文件和cmake.exe所在的路径添加到path环境变量中。

##二,开始安装

1,安装VS2015,详细教程见以下链接 :VS2015安装教程

2,在GitHub中下载caffe源码:https://github.com/BVLC/caffe/tree/windows,解压到D:\Caffe_Prj\下。

3,依次分别安装anaconda3,Cmake3.4,安装完成后,将python.exe文件和cmake.exe所在的路径添加到path环境变量中。

4,进入scripts文件夹,把build_win.cmd的后缀改成txt,然后用编辑器打开,参考以下修改:

@echo off@setlocal EnableDelayedExpansion:: Default valuesif DEFINED APPVEYOR (echo Setting Appveyor defaultsif NOT DEFINED MSVC_VERSION set MSVC_VERSION=14if NOT DEFINED WITH_NINJA set WITH_NINJA=0if NOT DEFINED CPU_ONLY set CPU_ONLY=1if NOT DEFINED CUDA_ARCH_NAME set CUDA_ARCH_NAME=Autoif NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Releaseif NOT DEFINED USE_NCCL set USE_NCCL=0if NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0if NOT DEFINED PYTHON_EXE set PYTHON_EXE=pythonif NOT DEFINED RUN_TESTS set RUN_TESTS=1if NOT DEFINED RUN_LINT set RUN_LINT=1if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1:: Set python 3.5 with conda as the default pythonif !PYTHON_VERSION! EQU 3 (set CONDA_ROOT=D:\MachineLearning\VS2015_CAFFE\anaconda3)set PATH=!CONDA_ROOT!;!CONDA_ROOT!\Scripts;!CONDA_ROOT!\Library\bin;!PATH!:: Check that we have the right python version!PYTHON_EXE! --version:: Add the required channelsconda config --add channels conda-forgeconda config --add channels willyd:: Update condaconda update conda -y:: Download other required packagesconda install --yes cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphvizif ERRORLEVEL 1  (echo ERROR: Conda update or install failedexit /b 1):: Install cuda and disable tests if neededif !WITH_CUDA! == 1 (call %~dp0\appveyor\appveyor_install_cuda.cmdset CPU_ONLY=0set RUN_TESTS=0set USE_NCCL=1) else (set CPU_ONLY=1):: Disable the tests in debug configif "%CMAKE_CONFIG%" == "Debug" (echo Disabling tests on appveyor with config == %CMAKE_CONFIG%set RUN_TESTS=0):: Disable linting with python 3 until we find why the script failsif !PYTHON_VERSION! EQU 3 (set RUN_LINT=0)) else (:: Change the settings here to match your setup:: Change MSVC_VERSION to 12 to use VS 2013if NOT DEFINED MSVC_VERSION set MSVC_VERSION=14:: Change to 1 to use Ninja generator (builds much faster)if NOT DEFINED WITH_NINJA set WITH_NINJA=0:: Change to 1 to build caffe without CUDA supportif NOT DEFINED CPU_ONLY set CPU_ONLY=1:: Change to generate CUDA code for one of the following GPU architectures:: [Fermi  Kepler  Maxwell  Pascal  All]if NOT DEFINED CUDA_ARCH_NAME set CUDA_ARCH_NAME=Auto:: Change to Debug to build Debug. This is only relevant for the Ninja generator the Visual Studio generator will generate both Debug and Release configsif NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release:: Set to 1 to use NCCLif NOT DEFINED USE_NCCL set USE_NCCL=0:: Change to 1 to build a caffe.dllif NOT DEFINED CMAKE_BUILD_SHARED_LIBS set CMAKE_BUILD_SHARED_LIBS=0:: Change to 3 if using python 3.5 (only 2.7 and 3.5 are supported)if NOT DEFINED PYTHON_VERSION set PYTHON_VERSION=3:: Change these options for your needs.if NOT DEFINED BUILD_PYTHON set BUILD_PYTHON=1if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0:: If python is on your path leave this aloneif NOT DEFINED PYTHON_EXE set PYTHON_EXE=python:: Run the testsif NOT DEFINED RUN_TESTS set RUN_TESTS=0:: Run lintif NOT DEFINED RUN_LINT set RUN_LINT=0:: Build the install targetif NOT DEFINED RUN_INSTALL set RUN_INSTALL=0):: Set the appropriate CMake generator:: Use the exclamation mark ! below to delay the:: expansion of CMAKE_GENERATORif %WITH_NINJA% EQU 0 (if "%MSVC_VERSION%"=="14" (set CMAKE_GENERATOR=Visual Studio 14 2015 Win64)if "%MSVC_VERSION%"=="12" (set CMAKE_GENERATOR=Visual Studio 12 2013 Win64)if "!CMAKE_GENERATOR!"=="" (echo ERROR: Unsupported MSVC versionexit /B 1)) else (set CMAKE_GENERATOR=Ninja)echo INFO: ============================================================echo INFO: Summary:echo INFO: ============================================================echo INFO: MSVC_VERSION   = !MSVC_VERSION!echo INFO: WITH_NINJA = !WITH_NINJA!echo INFO: CMAKE_GENERATOR= "!CMAKE_GENERATOR!"echo INFO: CPU_ONLY   = !CPU_ONLY!echo INFO: CUDA_ARCH_NAME = !CUDA_ARCH_NAME!echo INFO: CMAKE_CONFIG   = !CMAKE_CONFIG!echo INFO: USE_NCCL   = !USE_NCCL!echo INFO: CMAKE_BUILD_SHARED_LIBS= !CMAKE_BUILD_SHARED_LIBS!echo INFO: PYTHON_VERSION = !PYTHON_VERSION!echo INFO: BUILD_PYTHON   = !BUILD_PYTHON!echo INFO: BUILD_PYTHON_LAYER = !BUILD_PYTHON_LAYER!echo INFO: BUILD_MATLAB   = !BUILD_MATLAB!echo INFO: PYTHON_EXE = "!PYTHON_EXE!"echo INFO: RUN_TESTS  = !RUN_TESTS!echo INFO: RUN_LINT   = !RUN_LINT!echo INFO: RUN_INSTALL= !RUN_INSTALL!echo INFO: ============================================================:: Build and exectute the tests:: Do not run the tests with shared libraryif !RUN_TESTS! EQU 1 (if %CMAKE_BUILD_SHARED_LIBS% EQU 1 (echo WARNING: Disabling tests with shared library buildset RUN_TESTS=0)):: if NOT EXIST build mkdir build:: pushd build:: Setup the environement for VS x64:: set batch_file=!VS%MSVC_VERSION%0COMNTOOLS!..\..\VC\vcvarsall.bat:: call "%batch_file%" amd64:: Configure using cmake and using the caffe-builder dependencies:: Add -DCUDNN_ROOT=C:/Projects/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^:: below to use cuDNNcmake -G"!CMAKE_GENERATOR!" ^-DBLAS=Open ^-DCMAKE_BUILD_TYPE:STRING=%CMAKE_CONFIG% ^-DBUILD_SHARED_LIBS:BOOL=%CMAKE_BUILD_SHARED_LIBS% ^-DBUILD_python:BOOL=%BUILD_PYTHON% ^-DBUILD_python_layer:BOOL=%BUILD_PYTHON_LAYER% ^-DBUILD_matlab:BOOL=%BUILD_MATLAB% ^-DCPU_ONLY:BOOL=%CPU_ONLY% ^-DCOPY_PREREQUISITES:BOOL=1 ^-DINSTALL_PREREQUISITES:BOOL=1 ^-DUSE_NCCL:BOOL=!USE_NCCL! ^-DCUDA_ARCH_NAME:STRING=%CUDA_ARCH_NAME% ^"%~dp0\.."if ERRORLEVEL 1 (echo ERROR: Configure failedexit /b 1):: Lintif %RUN_LINT% EQU 1 (cmake --build . --target lint  --config %CMAKE_CONFIG%)if ERRORLEVEL 1 (echo ERROR: Lint failedexit /b 1):: Build the library and toolscmake --build . --config %CMAKE_CONFIG%if ERRORLEVEL 1 (echo ERROR: Build failedexit /b 1):: Build and exectute the testsif !RUN_TESTS! EQU 1 (cmake --build . --target runtest --config %CMAKE_CONFIG%if ERRORLEVEL 1 (echo ERROR: Tests failedexit /b 1)if %BUILD_PYTHON% EQU 1 (if %BUILD_PYTHON_LAYER% EQU 1 (:: Run python tests only in Release build since:: the _caffe module is _caffe-d is debugif "%CMAKE_CONFIG%"=="Release" (:: Run the python testscmake --build . --target pytestif ERRORLEVEL 1 (echo ERROR: Python tests failedexit /b 1)))))if %RUN_INSTALL% EQU 1 (cmake --build . --target install --config %CMAKE_CONFIG%)popd@endlocal

其中需要注意的是:

                Line8:填写0Line9:填写1Line10:填写AutoLine14:填写3,表示编译器使用的是python3版本的Line24:if判断注释掉::,因为本文用python3编译的Line29:填写刚才安装python3安装包python.exe所在的路径、Line74:填0Line76:1Line79:AutoLine87:3Line150--Line159:注释::5,开始编译

第一步:在Caffe文件下shift+右键,点击“在此处打开命令窗口”,然后将Caffe\scripts下的build_win.bat文件拖到cmd窗口中,回车并编译。 这时候用python3.6的会报错:

cannot find url for MSVC_VERSION:1900 and Python version:3.7

大致是这样的错误,根据错误文档找到了文件:WindowsDownloadPre

builtDependencies,用文本编辑器,把文件里面的python3.5全部改为Python3.7(报错的版本,就是你刚才安装的的python版本),因为之前支持的Anaconda仅到3.5,所以文件一直没改动。

set(DEPENDENCIES_VERSION 1.1.0)set(DEPENDENCIES_NAME_1800_27 libraries_v120_x64_py27_${DEPENDENCIES_VERSION})set(DEPENDENCIES_NAME_1900_27 libraries_v140_x64_py27_${DEPENDENCIES_VERSION})set(DEPENDENCIES_NAME_1900_37 libraries_v140_x64_py35_${DEPENDENCIES_VERSION})set(DEPENDENCIES_URL_BASE https://github.com/willyd/caffe-builder/releases/download)set(DEPENDENCIES_FILE_EXT .tar.bz2)set(DEPENDENCIES_URL_1800_27 "${DEPENDENCIES_URL_BASE}/v${DEPENDENCIES_VERSION}/${DEPENDENCIES_NAME_1800_27}${DEPENDENCIES_FILE_EXT}")set(DEPENDENCIES_SHA_1800_27 "ba833d86d19b162a04d68b09b06df5e0dad947d4")set(DEPENDENCIES_URL_1900_27 "${DEPENDENCIES_URL_BASE}/v${DEPENDENCIES_VERSION}/${DEPENDENCIES_NAME_1900_27}${DEPENDENCIES_FILE_EXT}")set(DEPENDENCIES_SHA_1900_27 "17eecb095bd3b0774a87a38624a77ce35e497cd2")set(DEPENDENCIES_URL_1900_37 "${DEPENDENCIES_URL_BASE}/v${DEPENDENCIES_VERSION}/${DEPENDENCIES_NAME_1900_35}${DEPENDENCIES_FILE_EXT}")set(DEPENDENCIES_SHA_1900_37 "da39a3ee5e6b4b0d3255bfef95601890afd80709")caffe_option(USE_PREBUILT_DEPENDENCIES "Download and use the prebuilt dependencies" ON IF MSVC)if(MSVC)file(TO_CMAKE_PATH $ENV{USERPROFILE} USERPROFILE_DIR)if(NOT EXISTS ${USERPROFILE_DIR})message(FATAL_ERROR "Could not find %USERPROFILE% directory. Please specify an alternate CAFFE_DEPENDENCIES_ROOT_DIR")endif()set(CAFFE_DEPENDENCIES_ROOT_DIR ${USERPROFILE_DIR}/.caffe/dependencies CACHE PATH "Prebuild depdendencies root directory")set(CAFFE_DEPENDENCIES_DOWNLOAD_DIR ${CAFFE_DEPENDENCIES_ROOT_DIR}/download CACHE PATH "Download directory for prebuilt dependencies")endif()if(USE_PREBUILT_DEPENDENCIES)# Determine the python versionif(BUILD_python)if(NOT PYTHONINTERP_FOUND)if(NOT "${python_version}" VERSION_LESS "3.0.0")find_package(PythonInterp 3.7)else()find_package(PythonInterp 2.7)endif()endif()set(_pyver ${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR})else()message(STATUS "Building without python. Prebuilt dependencies will default to Python 2.7")set(_pyver 27)endif()if(NOT DEFINED DEPENDENCIES_URL_${MSVC_VERSION}_${_pyver})message(FATAL_ERROR "Could not find url for MSVC version = ${MSVC_VERSION} and Python version = ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.")endif()# set the dependencies URL and SHA1set(DEPENDENCIES_URL ${DEPENDENCIES_URL_${MSVC_VERSION}_${_pyver}})set(DEPENDENCIES_SHA ${DEPENDENCIES_SHA_${MSVC_VERSION}_${_pyver}})set(CAFFE_DEPENDENCIES_DIR ${CAFFE_DEPENDENCIES_ROOT_DIR}/${DEPENDENCIES_NAME_${MSVC_VERSION}_${_pyver}})foreach(_dir ${CAFFE_DEPENDENCIES_ROOT_DIR}${CAFFE_DEPENDENCIES_DOWNLOAD_DIR}${CAFFE_DEPENDENCIES_DIR})# create the directory if it does not existif(NOT EXISTS ${_dir})file(MAKE_DIRECTORY ${_dir})endif()endforeach()# download and extract the file if it does not exist or if does not match the sha1get_filename_component(_download_filename ${DEPENDENCIES_URL} NAME)set(_download_path ${CAFFE_DEPENDENCIES_DOWNLOAD_DIR}/${_download_filename})set(_download_file 1)if(EXISTS ${_download_path})file(SHA1 ${_download_path} _file_sha)if("${_file_sha}" STREQUAL "${DEPENDENCIES_SHA}")set(_download_file 0)else()set(_download_file 1)message(STATUS "Removing file because sha1 does not match.")file(REMOVE ${_download_path})endif()endif()if(_download_file)message(STATUS "Downloading prebuilt dependencies to ${_download_path}")file(DOWNLOAD "${DEPENDENCIES_URL}""${_download_path}"EXPECTED_HASH SHA1=${DEPENDENCIES_SHA}SHOW_PROGRESS)if(EXISTS ${CAFFE_DEPENDENCIES_DIR}/libraries)file(REMOVE_RECURSE ${CAFFE_DEPENDENCIES_DIR}/libraries)endif()endif()if(EXISTS ${_download_path} AND NOT EXISTS ${CAFFE_DEPENDENCIES_DIR}/libraries)message(STATUS "Extracting dependencies")execute_process(COMMAND ${CMAKE_COMMAND} -E tar xjf ${_download_path}WORKING_DIRECTORY ${CAFFE_DEPENDENCIES_DIR})endif()if(EXISTS ${CAFFE_DEPENDENCIES_DIR}/libraries/caffe-builder-config.cmake)include(${CAFFE_DEPENDENCIES_DIR}/libraries/caffe-builder-config.cmake)else()message(FATAL_ERROR "Something went wrong while dowloading dependencies could not open caffe-builder-config.cmake")endif()endif()

第二步:第一步会出错,因为下载libraries_v140_x64_py35_1.0.1.tar失败,这需要手动的下载。这个会放在我的百度网盘里面,一会儿同意给出链接。

第三步:下载后将其拷贝到用户目录下:.caffe\download目录下,我的目录是C:\Users\Administrator.caffe\dependencies\download

,这里可以先不着急拷贝进去,因为当前文件夹可能还没生成,我也是在报错的时候才找到这个文件夹的。同时要,重新命名为.tar。

Line13:下载的那个库文件包的解压sha码,系统报错时候会给出前后这两个码区别,你把我们自己下载的压缩包的sha码赋值,覆盖这一行的sha码。

Tip:关于这个Libraries下载存放位置,可以参考下make文件中路径,也可以参考下,Dos界面报错的路径,报错提示:…caffe\dependencies\libraries_v140_x64_py35_1.0.1\libraries\bin下缺少***库文件,此时,libraries_v140_x64_py35_1.0.1.tar解压出来的libraries文件夹应该放在libraries_v140_x64_py35_1.0.1\下一级,并且将子目录下的bin/lib/x64/vc14/bin文件放在path下。

其他问题:(我没有遇到,网上其他技术友反映的)

问题:error MSB6006: “cmd.exe” 退出,错误代码 -1073741515

编译报错,找不到包含文件pthread.h,error MSB6006: “cmd.exe” 退出,错误代码 -1073741515。这个神奇的问题困扰了我好几天,翻遍了网上的犄角旮旯也都没找到答案。我开始以为真的是因为缺少pthread.h文件,就下载了thread压缩包添加到caffe文件夹中,但是当然没有用啦!

后来我灰心之下尝试了Google论坛上一个小小的不起眼的建议,重新下载protoc库文件并替换依赖包中相应的文件,居然成了!

6,删除build文件夹下(自己建立的build)除了cmd编译文件以外的所有文件,重新打开DOS执行一遍,此时你会发现,在这个文件夹下生成一个:caffe.sln的VS2015项目文件。

7,打开这个caffe.sln,点击解决方案,选择Release,鼠标右键–重新生成,之后便找到Release文件夹下的caffe.exe,将此路径加入到path中。

8,之后便是测试数据集,参考这个链接:https://www.e-learn.cn/content/qita/1193355

Windows10下安装VS2015和Caffe相关推荐

  1. Windows10下安装unbuntu双系统 以及花屏解决办法

    文章目录 Windows10下安装unbuntu双系统 1 创建未分配卷,为ubuntu系统提供空间 2 制作ubuntu启动u盘 下载ubuntu 下载Universal-USB-Installer ...

  2. windows10安装python环境_在windows10下安装python(配置环境变量),Windows10

    建议使用:anaconda(环境管理和包管理)+Pycharm (强大的IDE开发工具) python环境变量设置: window系统高级设置-> 系统环境变量里 变量名: PYTHONPATH ...

  3. Windows10下安装Linux子系统

    Windows10下安装Linux子系统 版本说明 版本 作者 日期 备注 0.1 ZY 2019.7.9 初稿 目录 文章目录 Windows10下安装Linux子系统 版本说明 目录 一.初衷 二 ...

  4. 在Windows10下安装JDK15.0.1

    在Windows10下安装JDK15.0.1 下载jdk15.0.1 配置环境 查看是否安装成功 下载jdk15.0.1 官网地址:https://www.oracle.com/cn/java/tec ...

  5. Windows10下安装point-cloud-annotation-tool点云标注工具——吐血之路总结

    零. 为了标注点云数据,经过多方查找免费开源的标注软件,根据使用要求和方便程度最终选择了这款可以在Windows下编译安装的point-cloud-annotation-tool,基于QT和vtk和P ...

  6. Intel+Nvidia双显卡笔记本Linuxmint18下安装CUDA+OpenCV+Caffe的安装记录

    一.安装环境: 硬件:微星GE70 2PC 089-XCN,14年性价比较高的一款,然而两年多过去后配置已经落伍...当年的价格现在能买到i7+GTX1050了... CPU:intel i5 420 ...

  7. Windows10 下安装mmdetection 问题之“cannot import name ‘deform_conv_cuda‘”

    最近在使用mmdetection工具箱,官方只给出Linux系统下的安装方法,自己尝试在Windows10下的安装,其中遇到过一些问题 在此记录下来,希望给小伙伴一些帮助. 安装环境: VS2015 ...

  8. windows10下安装JDK及环境变量设置

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程语言的代表 ...

  9. 联想拯救者Y7000P-2019在windows10下安装ubuntu 20.04双系统操作指南

    前言:工作很多时候会遇到Linux操作系统,使用过docker镜像和vm虚拟机,但总感觉不是很好,就自己安装了ubuntu 20.04,安装过程中遇到很多问题记录一下,方便自己以后浏览. 一.安装指南 ...

最新文章

  1. python的flask框架显示柱状图_使用Python的Flask框架,结合Highchart,动态渲染图表(Ajax 请求数据接口)...
  2. 零点起飞学mysql视频_零点起飞学MySQL
  3. python的语法结构_Python特点、语法结构、编码知识
  4. cmake 判断操作系统平台
  5. SQLAlchemy 教程 —— ORM 方式使用示例
  6. 内核全新优化UI界面影视双端源码
  7. [跟我学中小企业架构部署]之八:备份服务器部署
  8. 解决读取数据库里面中文字符乱码的问题
  9. gp数据库中Appendonly与compresslevel
  10. 最短路径之弗洛伊德算法
  11. c语言 overflow_一文读懂:C语言编程中“堆”和“栈”的七大区别
  12. java 集成pageoffice_Java集成PageOffice在线打开编辑word文件 - Spring Boot
  13. JAVA分布式(一)——了解分布式
  14. WIFI理论速度计算
  15. 获取当前时间前3天的零点时间
  16. 习惯三 要事第一---自我管理的原则
  17. selenium怎样定位web动态提示语
  18. 阿里云的WEB应用防火墙(WAF)能抵挡什么攻击
  19. 学习C++:C++进阶(三)CMake基础篇---用一个小型项目了解CMake及环境构建
  20. python开头声明中文_python开头——文件声明 详解

热门文章

  1. Unity VR开发教程 OpenXR+XR Interaction Toolkit(七)射线抓取
  2. The Shawshank Redemption-4
  3. linux关闭硬盘检测,关闭Linux开机强制检测硬盘
  4. CTF练题(5)word隐写基础题,jpg图片隐写,敲击码解密
  5. delphi2007下载地址
  6. Cocos2d-x 3.0 开发(九)使用Physicals代替Box2D和chipmunk
  7. 神经网络控制与matlab仿真,matlab神经网络预测模型
  8. 惠民“大数据”强化共享发展
  9. 中国大数据综合服务提供商Top100排行榜
  10. clobber和glob