热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【caffe笔记1】caffe+win10+VS2013配置与常见问题(简单易懂)

caffe+DL正在学习中……请多多指教多多补充……作为一名caffe+DL新手,总结了一下新手配置caffe+win10+VS2013配置与我遇到的问题和解决方法,如有错误,务必留言指出!

caffe+DL正在学习中……请多多指教多多补充……

    作为一名caffe+DL新手,总结了一下新手配置caffe+win10+VS2013配置与我遇到的问题和解决方法,如有错误,务必留言指出!

首先,电脑里得有VS2013,MATLAB(我用的MATLAB R2014a)……


(1)下载地址bling~bling:微软提供window工具包https://github.com/Microsoft/caffe,右下角Download ZIP,解压后文件夹是caffe-master

    感觉微软的这个caffe特别优秀,无需配置第三方库的环境变量,直接就可以自动下载所需要的库,包含opencv和boost等。


(2)复制caffe-master/windows下CommonSettings.props.example,改为CommonSettings.props,把它拖到VS2013里面打开(其实用记事本也可以打开,但特别乱),更改这三项(因为没有GPU),保存……(其实还有其他地方也需要作相应的更改,再说)


   

    CnDNN是啥?答: CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案


(3)双击caffe-master/windows下的Caffe.sln,用VS2013打开,生成解决方案;官网自带的有16个项目


    然后会弹出一个窗口,Nuget所需要的第三方库,应该是在线下载的。

    第三方库Nuget下载下来如下,放到与caffe-master并列的文件夹即可



(4)这个时候,当下载完毕,VS2013仍在继续执行生成任务,可能会遇到各种error,比如说无法打开libcaffe.lib之类的error。解决方法是直接对libcaffe重新生成。等这个文件生成成功后,再对所有文件再重新生成一下,应该就不会出现问题了。

(5)然后,还需要设置一些东西:

    i 设置解决方案‘caffe’-属性


    或者下面直接单启动项目是caffe也行,不过最好改一下,原因相信玩过VS的都清楚,如果是单启动项目,那么在你重新编译工程的时候,只会运行次单启动项目,其它项目不会运行,这就是为什么很多人编译以后发现Release或者Debug文件夹下只有caffe.exe而没有conver_imageset.exe等可执行文件的原因。

    ii 选择编译类型为Release

    iii 将“警告”错误选择“否”


    编译过程中可能会遇到各种各样的问题,可以去百度找找,都能找到的


(5)caffe可以直接用cmd接口,也可以使用matlab或python接口,于是还要改CommonSettings.props,还要要把路径设成python(我用的是anaconda)和matlab的,如下:


    

   还有比如在编程中可能出现什么无法找到gpu/mxGPUArray.h什么的……

   解决方法:查找matlab根目录,发现mxGPUArray.h在以下目录:MATLAB\R2015a\toolbox\distcomp\gpu\extern\include\gpu

   因此在IncludePath中加入以下地址$(MatlabDir)\toolbox\distcomp\gpu\extern\include;



(6)编译成功后会在caffe-master\Build\x64\Release中出现各种编译后的文件,什么.dll什么的……

(7)最后ctrl+F5运行caffe.cpp,出现如下界面,



按照微软官方说明的配置方法,还需要将caffe master\build\x64\release文件夹加入环境变量系统path如下:


各种各样的问题一般都能在网上解决方案!


参考:

http://blog.csdn.net/lance313/article/details/53964874

http://blog.csdn.net/lance313/article/details/53859787


另外:

深度学习框架的介绍与比较(Caffe, TensorFlow, MXNet, Torch, Theano):

http://blog.csdn.net/qiexingqieying/article/details/51734347



推荐阅读
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
author-avatar
那年差点做歌神
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有