想在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. Test测试方法

    Junit 注解 解释 @Before 在每个测试方法运行前执行的方法 @After 在每个测试方法运行后执行的方法 @BeforeClass 在类中所有测试运行之前运行的方法 @AfterClass ...

  2. Android Studio 创建项目后“Cannot resolve symbol” 解决办法

    报错位置显示 “Cannot resolve symbol XXX”, 解决方法如下: 点击菜单中的 “File” -> “Invalidate Caches / Restart”,然后点击对话 ...

  3. 如何解决tab栏切换只发一次请求的问题

    用的antd的tab栏组件,发现切换tab栏只在componentDidMount里面发了一次请求,后来发现是缓存问题,于是用activeKey再次进行了判断,代码如下:

  4. head first 设计模式笔记7-适配器模式与外观模式

    适配器模式:将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间. 这个模式可以通过创建适配器进行接口转换,让不兼容的接口变成兼容.这可以让客户从实现的接口解耦.如果在一 ...

  5. CodeForces 349B--Color the Fence(贪心)

    B. Color the Fence time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  6. 前端性能优化 —— reflow(回流/重排)和repaint(重绘)

    简要:整个在浏览器的渲染过程中(页面初始化,用户行为改变界面样式,动画改变界面样式等)reflow(回流)和repaint(重绘) 会大大影响web性能,尤其是手机页面.因此我们在页面设计的时候要尽量 ...

  7. 自定义IPython提示符

    首先创建IPython的自定义配置文件 $ ipython profile create 可以看到在HOME目录下: 多了两个配置文件 我们修改~/.ipython/profile_default/i ...

  8. JPA 开发写SQL时候遇见的困难点

    官方文档 https://docs.spring.io/spring-data/jpa/docs/1.11.16.RELEASE/reference/html/#repositories.specia ...

  9. 第七周学习总结&JAVA实验五报告。

    JAVA实验报告五: 实验四 类的继承 实验目的 理解抽象类与接口的使用: 了解包的作用,掌握包的设计方法. 实验要求 掌握使用抽象类的方法. 掌握使用系统接口的技术和创建自定义接口的方法. 了解 J ...

  10. web长时间不激活 终止用户回话

    参考资料: http://web.jobbole.com/89072/ http://www.cnblogs.com/1175429393wljblog/p/5570606.html http://w ...