在Windows 10 Anniversary下配置Caffe
去年十月份的时候尝试过配置caffe,真的是恶心到家,当时用的还是微软魔改的基于NuGet的caffe。现在这个项目退役了,接手的是原项目下的windows分支,虽然并不是很成熟,但是依然非常推荐在Win下疯狂受苦的各位试试。
先说明一下,目前(2017-01-24)由于各种原因,使用Visual Studio 2017 RC进行编译会引致各种各样的问题(从CMake到CUDA,没什么东西是能用的),因此不要轻易尝试,有兴趣的话可以看看这里。
使用预编译的二进制包
非常直接了当的做法,不需要编译配置直接可用,算是救命了。在分支首页能找到。
从Git开始
确保系统中安装了Git或者Github客户端。进入Powershell(我比较喜欢用这个,CMD也可以),cd到在平时放置项目的地方执行:
git clone https://github.com/BVLC/caffe.git
cd caffe
git checkout windows
使用文本编辑器打开scripts/build_win.cmd,根据注释的指引进行修改:开启cuDNN、启用Matlab生成之类的。修改完成之后,在Powershell中执行
./scripts/build_win.cmd
在接下来的一段时间内,脚本文件会在背景下载所依赖的库。不知道为什么经常下载失败,速度还特别慢,总之建议爬上梯子说话。
下载完成之后会开始解压文档,自动生成的build目录中如果出现了libraries文件夹那就说明至少下载成功了。这个时候注意,一定要把build_win.cmd中的以下部分(大约在118行)删除或者注释掉,否则在下一次执行build_win.cmd的时候,脚本会重新下载依赖库。谁能保证之后不出差错呢?
:: Create build directory and configure cmake
if EXIST build (
echo ERROR: build directory already exists in %cd%\build please remove it and start over.
exit /b 1
)
mkdir build
pushd build
:: Download dependencies from VS x64
echo INFO: Downloading dependencies
"%PYTHON_EXE%" "%~dp0\download_prebuilt_dependencies.py" --msvc_version v%MSVC_VERSION%0
if ERRORLEVEL 1 (
echo ERROR: Downloading dependencies failed
exit /b 1
)
如果脚本自动开始编译了那么说明依赖库中文件没有问题,将libraries/lib、libraries/bin以及libraries\x64\vc14\bin文件夹加入Path环境变量。如果没有加入,在Matlab中调用caffe会出现形如Invalid MEX-file 'P:\caffe\matlab\+caffe\private\caffe_.mexw64': 找不到指定的模块。的错误。
有个非常奇怪的情况,在我安装caffe的时候,build_win.cmd自动进行的install并没有起作用,所以在成功生成项目文件之后最好Ctrl-C停止命令行编译,进入VS手工生成ALL_BUILD项目,随后生成INSTALL项目。
如果开启了Python生成,注意确认所依赖的Python包是否已经安装。我使用的是发行版Anaconda 3.5,如果脚本没有自动帮你安装,输出提示有关'Python'、'Dependency'、'Ignore'的字样,使用如下指令安装所需要的软件包,否则会跳过Python接口的生成。
conda install --yes numpy scipy matplotlib scikit-image pip six
conda install --yes --channel willyd protobuf==3.1.0
如果开启了MATLAB生成,可能会遇到MSB3073错误,这是脚本没有找到生成的mex文件导致的,进入matlab/+caffe/private中,进入刚才编译使用的配置(Debug或Release),将caffe_.mexw64复制一份到外面的private文件夹里。再次生成INSTALL项目应该就能够通过了。
生成成功后在环境变量中加入PYTHONPATH,填入值build/install/python,在Matlab中添加搜索路径build/install/matlab和build/matlab。建议前者优先级高于后者,前者可以不用加,因为刚才已经把caffe_.mexw64移进private了。要是出现了什么诡异的问题可以再考虑加回来。
最后特别要注意的是,Protobuf一定要自己编译一份,因为Python需要执行Protobuf项目的python/setup.py才能完成配置,否则会出现找不到google包的错误。
在Windows 10 Anniversary下配置Caffe的更多相关文章
- windows 10安装和配置caffe教程 | Install and Configure Caffe on windows 10
本文首发于个人博客https://kezunlin.me/post/1739694c/,欢迎阅读! Install and Configure Caffe on windows 10 Part 1: ...
- Ubuntu17.10 下配置caffe 仅CPU i386可以直接apt install caffe-cpu,但是怎么运行mnist代码我懵逼了
Ubuntu16.04下配置caffe(仅CPU) 参考:http://blog.csdn.net/zt_1995/article/details/56283249 第二次配置caffe环境,依 ...
- 20180726 - Windows 10 Pro 下远程桌面连接提示“出现身份验证错误”
问题:Windows 10 Pro 下远程桌面连接提示“出现身份验证错误” [Window Title]远程桌面连接 [Content]出现身份验证错误.要求的函数不受支持 远程计算机: 192.16 ...
- Windows 10 x64 下编译 Hadoop 源码
Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...
- windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速
原文地址:http://www.jianshu.com/p/c245d46d43f0 写在前面的话 2016年11月29日,Google Brain 工程师团队宣布在 TensorFlow 0.12 ...
- opencv学习(1.2) - Windows 10 安装OpenCV &配置VS 2015
windows 10 安装OpenCV&配置VS 2015 环境 系统:Windows 10 OpenCV版本:3.4.1 开发IDE:VS2015 社区版 下载安装 下载OpenCV 3.4 ...
- tensor搭建--windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速
windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速 原文见于:http://www.jianshu.com/p/c245d46d43f0 ...
- 我的 Windows 10 的基本配置
Windows 10 的基本配置 功能性 开启 .Net Framework 3.5(包括 .NET 2.0 和 3.0) 旧版本 Windows 10 默认只安装了 .Net Framework 4 ...
- 如何解决Windows 10系统下设备的声音问题
如何解决Windows 10系统下设备的声音问题? 请阅读下面的说明来解决Windows 10设备上的声音问题. 1. 检查设备管理器 打开开始菜单,键入设备管理器, 从出现的结果中选择并打开它. 在 ...
随机推荐
- IO口输入输出模式理解
1.IO输入输出模式 2.有上拉,下拉,弱上拉,推挽,开漏输出:不同的单片机有不同的输出模式 3.以最简单的51单片机为例 P0:开漏型双向IO口,通常需要添加外部上拉电阻 P1~P3:准双向IO口, ...
- JSP/JAVA目录清单
JAVA253中国象棋(CS) JAVA258网络五子棋游戏的设计与实现(CS) JAVA390停车场管理系统SQL(CS) JSP001学生综合素质测评系统JAVA+Mysql JSP002学生成绩 ...
- The 2014 ACMICPC Asia Regional Xian
2题继续遗憾收场,每次都是只差最后一步.这一场却是之前那么多场中感觉距离奖牌最近的时候.好好总结一下经验教训,复盘之后好好准备下一场北京的最后一战吧. 一开始的状态非常不错,10分钟跟榜完成1A,第二 ...
- SVG页面loading动态图
https://github.com/SamHerbert/SVG-Loaders demo http://samherbert.net/svg-loaders/
- redis对比memcached
摘要 : 简单地比较Redis与Memcached的区别,大多数都会得到以下观点: 1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储. 2 Re ...
- Lua学习系列(五)
calling C functions from Lua 5.2 这篇文章也不错: http://blog.csdn.net/x356982611/article/details/26688287 h ...
- Linux中后台执行任务
执行时, 可以在命令最后添加 & 使其后台执行, 但是其输出依然会显示, 而且其运行是和当前shell绑定的 如果脚本已经运行, 可以使用Ctrl-Z暂停, 然后使用 bg 让其转入后台, ...
- Linux下hosts、host.conf、resolv.conf
/etc/resolv.conf 该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数. resolv.conf的关键字主要有四个,分别是: nameserver ...
- Sping--life cycle
bean.xml: 注意, 千万不要后面加上 scope="prototype" <?xml version="1.0" encoding="U ...
- camstar --飞达上料
业务场景:某工厂的SMT车间接到生产PCB(3151502),数量1000片.如果实现飞达进行上料,并在贴片机工作时,系统自动进行物料消耗.3151502的BOM为1107790,1107792,11 ...