windows10+GTX1070+cuda8.0 安装Caffe(全过程指南)

本文十分详细的讲述了在windows10平台+GTX1070+VisualStudio2015安装cuda8.0及caffe的所有需要的步骤。

步骤总览

1、安装cuda8.0
2、安装cudnn
3、安装anaconda(Python管理工具)
4、安装cmake
5、下载caffe
6、修改配置文件
7、使用cmd命令安装caffe
8、用Visual Studio编译,注意屏蔽warning
9、mnist训练,注意修改文件路径
10、powershell权限修改

1、安装cuda8.0

直接在官网下载后双击.exe文件进行安装。官网下载地址:https://developer.nvidia.com/cuda-80-ga2-download-archive
安装过程全部默认即可,中间可能会出现几秒钟的黑屏。此外,之前我用笔记本,显卡型号为gtx940mx安装cuda8.0时出现了版本不兼容的报错,直接忽略点继续就行了
安装完成后进入C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0,运行Samples_vs2015.sln(用VS2015打开),打开后按Ctrl+F5,出现下图所示结果表明安装成功:
windows10+GTX1070+cuda8.0 安装Caffe(全过程指南)_第1张图片
此外,NVIDIA还推出了cuda8.0的补丁,同样的直接默认安装即可。

2、安装cudnn

cudnn下载地址:https://developer.nvidia.com/rdp/cudnn-download。下载cudnn需要注册开发者账号,免费注册个就好。
下载完成后解压,得到一个cuda文件夹。然后进行以下操作:
将 cuda\bin\cudnn64_7.dll 复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
将 cuda\ include\cudnn.h 复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include
将 cuda\lib\x64\cudnn.lib 复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
安装完后最好检查下是否环境变量已添加成功。具体方法:
按windows+R打开运行,输入cmd,回车确认后进入命令行;
输入 control sysdm.cpl 打开‘系统属性’;
选择‘高级’->‘环境变量’
windows10+GTX1070+cuda8.0 安装Caffe(全过程指南)_第2张图片
确定下面的环境变量已存在于系统中:
Variable Name: CUDA_PATH
Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
windows10+GTX1070+cuda8.0 安装Caffe(全过程指南)_第3张图片

3、安装anaconda

官网下载地址:https://www.anaconda.com/download/
下载3.6版本的,之后可以改成Python3.5。下载后直接运行安装就OK。

安装完成后,按下windows键,键入anaconda,打开anaconda Prompt。然后在命令行中输入conda create --name python35 python=3.5用于创建python3.5。
创建完成后输入conda install -n python34 numpy为python3.5添加numpy这个包,在后面安装caffe时会用到。
然后将python3.5的执行文件所在的文件夹位置,我的是D:\ProgramData\Anaconda3\envs\python35,添加至Path环境变量。
添加完成后打开一个cmd命令提示符,键入python后回车,如果出现下图python界面表示安装完成
windows10+GTX1070+cuda8.0 安装Caffe(全过程指南)_第4张图片

4、安装CMake

CMake下载地址:https://cmake.org/download/
选择windows的最新版,注意下载二进制.msi文件而不是源码,下载后直接运行安装即可。
windows10+GTX1070+cuda8.0 安装Caffe(全过程指南)_第5张图片
注意,此处要勾选添加环境变量,因为后面使用命令行编译时如果没有添加CMake的环境变量就无法使用make命令
windows10+GTX1070+cuda8.0 安装Caffe(全过程指南)_第6张图片

5、安装caffe

可以用git命令,也可以直接下载zip文件解压。git地址:https://github.com/BVLC/caffe/tree/windows
假设解压到了path(我的是“D:\Program Files”)这个文件夹里。
解压完成后进入 path\caffe-windows\scripts 文件夹,在里面有个build_win.cmd文件。这个文件是对windows下的编译环境一些预处理的。详细的说明在git上有,感兴趣的同学可以自己去看看。然后将该文件复制一份副本,改名为build_win1,注意,此处要去掉后缀名,不然无法修改里面内容。改名后用notepad++打开该副本,修改几处值。
注意,这个文件有个大的if语句。判断是否DEFINE了APPVEYOR,在我的机子上是没有DEFINE的。因此,可以直接看else部分。

else (
    :: Change the settings here to match your setup
    :: Change MSVC_VERSION to 12 to use VS 2013
    if 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 support
    if NOT DEFINED CPU_ONLY set CPU_ONLY=0
    :: 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 configs
    if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release
    :: Set to 1 to use NCCL
    if NOT DEFINED USE_NCCL set USE_NCCL=0
    :: Change to 1 to build a caffe.dll
    if 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=1
    if NOT DEFINED BUILD_PYTHON_LAYER set BUILD_PYTHON_LAYER=1
    if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=0
    :: If python is on your path leave this alone
    if NOT DEFINED PYTHON_EXE set PYTHON_EXE=python
    :: Run the tests
    if NOT DEFINED RUN_TESTS set RUN_TESTS=0
    :: Run lint
    if NOT DEFINED RUN_LINT set RUN_LINT=0
    :: Build the install target
    if NOT DEFINED RUN_INSTALL set RUN_INSTALL=1
)

然后还有160行cmake下的参数列表,将-DCUDNN_ROOT=D:/Program Files/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^添加至末尾

cmake -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% ^
      -DCUDNN_ROOT=D:/Program Files/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^
      "%~dp0\.."

修改完成后,为副本添加.cmd后缀名,然后双击运行。或者自己打开一个命令提示符窗口将文件拖入窗口后回车(建议这样做,如果直接双击运行的话一旦中间有错误,运行窗口就直接闪退了,无法看到哪里出错)。
此时会报一个错误

CMake Error at 
cmake/WindowsDownloadPrebuiltDependencies.cmake:71 (file):
     file DOWNLOAD HASH mismatch
      for file:
 [C:/Users/HUST/.caffe/dependencies/download/libraries_v140_x64_py35_1.1.0.tar.bz2]
      expected hash: 
      [f060403fd1a7448d866d27c0e5b7dced39c0a607]
        actual hash: [da39a3ee5e6b4b0d3255bfef95601890afd80709]
             status: [7;"Couldn't connect to server"]

这是因为原来下载libraries_v140_x64_py35_1.1.0.tar.bz2这个文件的网址现在无法访问的缘故。自己手动从网上下载后,放到C:/Users/HUST/.caffe/dependencies/download中,再次运行,就OK了;
注意,自己打开命令提示符,然后把运行脚本拖进去时要记住,安装目录是你命令提示符当前的目录。

6、编译caffe

打开生成的build文件夹,用vs2015打开caffe.sln
选择编译类型为Release,x64。然后生成解决方案,中间会有很多警告,忽略就好了。编译完后将会在build\install\bin里产生caffe.exe文件,表明安装完成。

7、mnist训练

待续……

你可能感兴趣的:(Caffe填坑之旅)