在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. 检查设备管理器 打开开始菜单,键入设备管理器, 从出现的结果中选择并打开它. 在 ...
随机推荐
- vi编辑器 :x与:wq的区别
按一下ESC键,之后 :wq保存和退出VI [vi是Unix/Linux系统最常用的编辑器之一,我习惯使用":x"命令来保存文件并退出,不愿意使用":wq"命令 ...
- 二叉堆(C#)
参考:http://www.cnblogs.com/skywang12345/p/3610390.html using System; using System.Collections.Generic ...
- ACM录 之 输入输出。
—— 简单介绍一下ACM里面的输入输出... —— 主要说C++的输入输出(其实其他的我不会...). —— C++里面有输入输出流,也就是cin和cout,用起来也算是比较方便吧... —— 但是, ...
- http://www.linux-commands-examples.com/xmllint
http://www.linux-commands-examples.com/xmllint hen hao!
- [iOS Animation]-CALayer 图层树
图层的树状结构 巨妖有图层,洋葱也有图层,你有吗?我们都有图层 -- 史莱克 Core Animation其实是一个令人误解的命名.你可能认为它只是用来做动画的,但实际上它是从一个叫做Layer Ki ...
- set multiset 集合实现众数的统计
众数问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重 ...
- python mysql 2014 Commands out of sync; you can't run this command now
这个问题出现再 mysql和c 的api. 简单的解决方法是不使用api直接把整个连接和命令传过去. 例如,cmd = 'mysql -h 192.168.32.210 -P 3316 -u bfd ...
- jQuery.extend({...})分析
作者:zccst 看一下是如何写的 jQuery.extend({ prop:"" method:function(){} }); 可以看出,这些方法是jQuery的静态属性和方法 ...
- windows server 2012 AD 活动目录部署系列(七)Active Directory 的授权还原
域内所有的域控制器都有一个内容相同的Active Directory,而且 Active Directory 的内容是动态平衡的,也就是说任何一个域控制器修改了 Active Directory,其他 ...
- svn无法提交
svn无法提交, 错误信息:Commit failed. svn: E200007: CHECKOUT can only be performed on a version resource... 解 ...