想在Windows平台使用Caffe,吭哧吭哧下载了半天第三方库,后来忽然发现Microsoft官方移植了Caffe,配置起来简直太省心了…

1. 从Microsoft官方Github上下载Caffe,源代码压缩包不到9MB大小,并将其解压缩到本地目录

https://github.com/Microsoft/caffe

2.安装NVIDIA CUDA,目前最新版本是7.5,离线安装包约962MB(8.0版也即将要发布了)。

Nvidia CUDA Toolkit

3.安装NVIDIA cuDNN(CUDA Deep Neural Library),目前最新版本是5(windows Caffe支持cuDNN 4和5)

Nvidia cuDNN

下载的压缩包中是Nvidia编译好的lib和dll以及.h头文件,约39MB,解压缩到本地目录即可。

4.打开Caffe解压缩目录,将其中windows目录中的CommonSettings.props.example复制一份并重命名为CommonSettings.props,然后使用Visual Studio 2013打开Caffe.sln解决方案。首先我们要将第3步中的cuDNN目录添加到libcaffe工程目录中,打开CommonSettings.props编辑<CuDnnPath>标签;或者是打开工程的“属性”->“配置属性”->“VC++目录”,在右侧的“包含目录”中将cuDNN的include文件路径添加进去即可。然后我们就可以对Caffe进行编译了。

此时有同学可能会问,Caffe所依赖的boost、OpenCV、gflags、glog等第三方库统统都没有配置,难道不需要提前安装了吗?现在这个问题不用担忧了,因为Microsoft有非常强大的NuGet工具。只要当我们第一次编译工程时,NuGet便开始自动下载并配置这些第三方库了,同时会在Caffe同层目录生成一个名为NugetPackages的文件夹。

5.如果在编译过程中提示“error C2220: 警告被视为错误 - 没有生成“object”文件”,这是由于微软NuGet回来的boost库中的format\alt_sstream_impl.hpp文件编码格式导致的,只需要双击错误打开该文件并保存,再编译就顺利通过了。

6.如果我们安装的CUDA版本不是7.5版本,或者我们甚至没有GPU,一样也可以正常使用Caffe

打开CommonSettings.props对以下对应的标签进行编辑即可,

<CpuOnlyBuild>false</CpuOnlyBuild>

<UseCuDNN>true</UseCuDNN>

<CudaVersion>7.5</CudaVersion>

<PythonSupport>false</PythonSupport>

<MatlabSupport>false</MatlabSupport>

【神经网络与深度学习】【CUDA开发】【VS开发】Microsoft官方移植了Caffe配置过程说明的更多相关文章

  1. 【神经网络与深度学习】【Matlab开发】caffe-windows使能Matlab2015b接口

    [神经网络与深度学习][Matlab开发]caffe-windows使能Matlab2015b接口 标签:[神经网络与深度学习] [Matlab开发] 主要是想全部来一次,所以使能了Matlab的接口 ...

  2. 【神经网络与深度学习】【python开发】caffe-windows使能python接口使用draw_net.py绘制网络结构图过程

    [神经网络与深度学习][python开发]caffe-windows使能python接口使用draw_net.py绘制网络结构图过程 标签:[神经网络与深度学习] [python开发] 主要是想用py ...

  3. 【神经网络与深度学习】【Qt开发】【VS开发】从caffe-windows-visual studio2013到Qt5.7使用caffemodel进行分类的移植过程

    [神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置成功后的第一次训练过程记录<二> 标签:[神经网络与深度学习] [CUDA开发] ...

  4. 【神经网络与深度学习】【VS开发】【CUDA开发】VS2013 配置CUDNN V4 DEMO

    VS2013 配置CUDNN V4 DEMO 众所周知,当前主流深度学习的实现中调用的底层API都是cudnn,自己做项目需要开发深度学习模块时,也需要调用cudnn库,因此熟悉cudnn库是很有必要 ...

  5. 【神经网络与深度学习】在Windows8.1上用VS2013编译Caffe并训练和分类自己的图片

    最近想熟悉一下深度学习,体验了一下Caffe,简单写写训练和分类的过程: 1.下载Caffe VS2013工程:https://github.com/Microsoft/caffe 2. 解压并用VS ...

  6. 【神经网络与深度学习】【Python开发】Caffe配置 windows下怎么安装protobuf for python

    首先从google上下载protobuf-2.5.0.zip和protoc-2.5.0-win32.zip,然后把protoc-2.5.0-win32.zip里的protoc.exe放到protobu ...

  7. 【神经网络与深度学习】【CUDA开发】【VS开发】Caffe+VS2013+CUDA7.5+cuDNN配置过程说明

    [神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置过程说明 标签:[Qt开发] 说明:这个工具在Windows上的配置真的是让我纠结万分,大部分 ...

  8. 【神经网络与深度学习】【CUDA开发】caffe-windows win32下的编译尝试

    [神经网络与深度学习][CUDA开发]caffe-windows win32下的编译尝试 标签:[神经网络与深度学习] [CUDA开发] 主要是在开发Qt的应用程序时,需要的是有一个使用的库文件也只是 ...

  9. 13本热门书籍免费送!(Python、SpingBoot、Entity Framework、Ionic、MySQL、深度学习、小程序开发等)

    七月第一周,网易云社区联合清华大学出版社为大家送出13本数据分析以及移动开发的书籍(Python.SpingBoot.Entity Framework.Ionic.MySQL.深度学习.小程序开发等) ...

随机推荐

  1. 利用docker 部署项目

    docker_tomcat_jdk 7.0 1.6 app admin && api 1.yum install docker 2.service docker start 3.创建文 ...

  2. Dubbo配置文件详解

    为新项目练手,把项目中用到的web service.RMI的服务改用Dubbo+Zookeeper+Spring,网上找到几篇不错的配置详解 1.此篇博文主要从以下几种配置方式来讲 XML 配置文件方 ...

  3. 2019春Python程序设计练习4(4.9-4.15)

    1-1 如下代码可以实现当输入6的时候输出x>5,输入4的时候输出 3<x<=5,输入1的时候输出x<=3 x = int(input()) if x>5: print( ...

  4. [HG]提高组 题解

    首先很容易想到暴力DP 设状态f[i][j]表示当前放了第i个数,最大的数为j的方案数. 然后根据转移推出实际上是在下图走路的方案数 \[ \left( \left( \begin{matrix} x ...

  5. 2-sat基础详解

    (大量引用<2-SAT解法浅析 -by 华中师大一附中 赵爽><由对称性解2-SAT问题> Great_Influence关于P4782 [模板]2-SAT 问题的题解.在此对 ...

  6. 论文阅读:Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN

    摘要: 在软件定义网络中,控制平面在物理上与转发平面分离,控制软件使用开放接口(例如OpenFlow)对转发平面(例如,交换机和路由器)进行编程. 本文旨在克服当前交换芯片和OpenFlow协议的两个 ...

  7. [CSP-S模拟测试]:蛇(DP+构造+哈希)

    题目传送门(内部题140) 输入格式 前两行有两个长度相同的字符串,描述林先森花园上的字母. 第三行一个字符串$S$. 输出格式 输出一行一个整数,表示有多少种可能的蛇,对$10^9+7$取模. 样例 ...

  8. 理解PyTorch的自动微分机制

    参考Getting Started with PyTorch Part 1: Understanding how Automatic Differentiation works 非常好的文章,讲解的非 ...

  9. 在控制台程序中,添加config文件

    一.右击类库 → 添加 → 新建项 → 应用程序配置文件(或者选择一个XML文件,然后将名字改成XXX.config),内容如下: <?xml version="1.0" e ...

  10. Why 0.1 + 0.2 === 0.30000000000000004 ?

    Why 0.1 + 0.2 === 0.30000000000000004 ? 在浮点数运算中产生误差值的示例中,最出名应该是0.1 + 0.2 === 0.30000000000000004了,到底 ...