windows编译tensorflow tensorflow单机多卡程序的框架 tensorflow的操作 tensorflow的变量初始化和scope 人体姿态检测 segmentation标注工具 tensorflow模型恢复与inference的模型简化 利用多线程读取数据加快网络训练 tensorflow使用LSTM pytorch examples 利用tensorboard调参 深度学习中的loss函数汇总 纯C++代码实现的faster rcnn tensorflow使用记录 windows下配置caffe_ssd use ubuntu caffe as libs use windows caffe like opencv windows caffe implement caffe model convert to keras model flappyBird DQN Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Neural Networks Fast-style-transfer tensorflow安装 tensorflow DQN Fully Convolutional Models for Semantic Segmentation Transposed Convolution, Fractionally Strided Convolution or Deconvolution 基于tensorflow的分布式部署 用python实现mlp bp算法 用tensorflow和tflearn搭建经典网络结构 Data Augmentation Tensorflow examples Training Faster RCNN with Online Hard Example Mining 使用Tensorflow做Prisma图像风格迁移 RNN(循环神经网络)推导 深度学习中的稀疏编码思想 利用caffe与lmdb读写图像数据 分析voc2007检测数据 用python写caffe网络配置 ssd开发 将KITTI的数据格式转换为VOC Pascal的xml格式 Faster RCNN 源码分析 在Caffe中建立Python layer 在Caffe中建立C++ layer 为什么CNN反向传播计算梯度时需要将权重旋转180度 Caffe使用教程(下) Caffe使用教程(上) CNN反向传播 Softmax回归 Caffe Ubuntu下环境配置

windows caffe implement

2017年02月09日

windows7+cuda8+cudnn5.1+vs2015+Anaconda2配置windows caffe

由于windows版本下的caffe有强烈的环境要求,对于装过其他vs版本的电脑来说卸载vs简直是个噩梦,博主卸载了一天vs2010和vs2013没卸干净,导致后续vs2015直接无法安装,所以一怒之下重装系统(非常建议重装系统)。下面分享一下我两天的环境配置历程。

重装系统

重新安装windows7系统由于vs2015的环境需求win7要sp1版本以上。下载软碟通将win7系统做成U盘启动,对于双系统机器windows7+ubuntu的机器,只需要把新系统安装在原来的windows7下,然后利用EasyBCD重新添加Ubuntu的启动项就行。在这里还遇到一个小插曲,系统装好以后鼠键没有了反应,主要是因为主板USB驱动不兼容问题,在主板设置将USB调成自动就行。至此一个纯净的windows7系统准备完成。

安装vs2015

我下载了一个社区版本的vs2015,安装时候可以选择自己需要的工具,安装过程比较久2到3个小时。这里需要说明cuda的安装依赖于vs,它需要往vs里面添加cuda的配置,所以vs安装要先于cuda.

安装cuda8

直接官网安装win7下的cuda8,安装cuda也遇到一个坑由于我先安装了显卡驱动,我发现我的显卡驱动比cuda8里的驱动版本要新,导致cuda无法安装。所以建议直接裸机安装cuda8里面所有东西,一路yes下去,会自动把环境变量添加到系统。安装完成后cmd nvcc-v可以显示编译器信息,然后编译cuda sample运行里面的deviceQuery.exe 可以显示如下信息表示安装完成

1

安装cudnn5.1

直接官网注册下载适配的cudnn解压里面东西按对应目录分别放置在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0对应的文件夹里面。

安装python环境

由于自动配置lib时候需要用到python脚本所以需要安装python,这里推荐Anaconda Python 2.7。注意安装时候选择将路径添加到系统环境变量否则后续项目找不到python解释器

安装CMake3.4以上版本以及Ninja

自动添加CMake路径到系统环境变量

配置windows caffe

下载windows版caffe, cmd下

git clone https://github.com/BVLC/caffe.git
cd caffe
git checkout windows

下面配置scripts\build_win.cmd文件

:: Set python 2.7 with conda as the default python
if !PYTHON_VERSION! EQU 2 (
    set CONDA_ROOT=C:\Users\ZouJinyi\Anaconda2
)

这儿将python的路径修改为自己的python路径

:: Set the appropriate CMake generator
:: Use the exclamation mark ! below to delay the
:: expansion of CMAKE_GENERATOR
if %WITH_NINJA% EQU 0 (
    if "%MSVC_VERSION%"=="14" (
        set CMAKE_GENERATOR=Visual Studio 14 2015 Win64
    )

这儿需要根据你的vs版本以及cmake的识别进行修改,这儿一定要选Win64,测试发现不使用Win64时候Ninja可以通过编译,CMake编译出错

-DCUDNN_ROOT=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0 ^

在cmake命令中添加cudnn支持,也就是添加cudnn安装位置

到这儿已经完成了一个由GPU和cudnn支持同时支持python和python layer的caffe,在cmd中运行scripts\build_win.cmd,这个命令首先会调用download_prebuilt_dependencies.py自动安装需要的lib,这个功能非常好用,省去了配置编译环境的各种大坑。同时也可以发现如果用vs2015编译Caffe.sln时可以使用NuGet来自动搜索下载依赖库,超爽有木有。编译完成后如下:

2

3

我们来测试一下caffe的可执行文件C:\Projects\caffe\build\examples\cpp_classification\classification.exe,执行exe需要将所有需要的dll放到一起,或者可以在libraries里的prependpath.bat添加作用到的路径

@echo off
:: Prepend the path variable
set PATH=%~dp0bin;%~dp0lib;%~dp0x64\vc14\bin;%~dp0..\examples\cpp_classification\;%PATH%

4

同时pycaffe也编译完成,在caffe\python\caffe中生成_caffe.pyd以及所有的动态依赖库。将python下整个caffe文件夹拷贝到Anaconda2\Lib\site-packages。至此pycaffe在整个windows系统中可用。

5

至于matcaffe同样只需要开启matcaffe编译就行。

到这就能实现在windows下使用caffe的全部功能。特别是Windows下pycaffe的使用将和linux下无异。

由于windows下的Caffe.sln是vs2013下的工程所以在vs2015下无法编译通过,所以需要用cmake重新生成sln文件,方法是禁用ninja编译

) 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

编译完成后在build下会生成vs2015下的Caffe.sln

接着我将尝试在这个基础上开发基于windows系统的基于Windows caffe的exe程序。将会在后续开发中记录。

搭建开发环境到写完总结用了三个晚上的时间,每晚到凌晨2点啊非常辛苦啊,希望各位大咖在参考时候能小小的打赏一下,下面是我的微信收款哟,嘿嘿,好给我继续写下去的动力有学术讨论和指点请加微信manutdzou,注明

6


blog comments powered by Disqus