首先介绍下window编译caffe2整体流程:

说明:如果不需要python支持只需3、4即可,而且编译亦不会出现问题。

1. 安装python2.7,。

我使用的是anaconda python2.7环境,要将python路径添加到系统路径(PYTH)。

2.python一些必要库的安装,如numpy、pybind11(是否必须未验证??)

  具体其他依赖库参见网址:

  https://caffe2.ai/docs/getting-started.html?platform=windows&configuration=compile

  我安装的库:  

  pip install future hypothesis numpy protobuf six
  pip install flask glog graphviz jupyter matplotlib pydot python-nvd3 pyyaml requests scikit-image scipy setuptools tornado

  pip install pybind11

3. 运行找到下载好的caffe2\scripts\build_host_protoc.sh

4.运行caffe2\scripts\build_windows.bat

此时要注意:

如果需要python支持需要将“-DBUILD_PYTHON=OFF^”设置为“-DBUILD_PYTHON=ON^”

如果为OFF大家可以放心编译,设置为ON后会遇到下面描述的问题。

遇到问题及解决方法:

1. 问题找不到numpy,确定python中已经安装

类似:Could NOT find NumPy (missing: NUMPY_INCLUDE_DIR NUMPY_VERSION) 错误。

解决方法:

这时将以前的numpy删除,重新安装numpy即可解决问题。

删除: pip uninstall numpy

安装:pip install nump

2.问题:

CMake summary output

I am installing caffe2 on win10 and it takes me almost a whole day. There are many missing argvs and errors in build_windows.bat. I doubt that the script has not been tested before.
Now I have another problem afer executing build_windows.bat:
ERROR Failed to remove indentation from:
"""

  from distutils import sysconfig
print(sysconfig.get_python_lib(prefix=''))

"""
Python dedent failed with error code: 系统找不到指定的文件。(system can not find specified file)
CMake Error at cmake/Utils.cmake:177 (message):
Python dedent failed with error code: 系统找不到指定的文件。(system can not find specified file)
Call Stack (most recent call first):
cmake/Utils.cmake:200 (dedent)
caffe2/CMakeLists.txt:145 (pycmd)

解决方法:

修改cmake/Utils.cmake文件,这个问题估计再更新的caffe2就会没有了。

参见网址:https://github.com/pytorch/pytorch/pull/6296/commits/88ae3f4c4feb50532b64b2f5d1110a7c2e81ceb6

3. 问题无法连接python27.lib

“X:\caffe2\build\ALL_BUILD.vcxproj”(默认目标) (1) ->
“X:\caffe2\build\caffe2\caffe2_pybind11_state.vcxproj”(默认目标) (8) ->
(Link 目标) ->
LINK : fatal error LNK1104: cannot open “python27.lib” [X:\caffe2\build\caffe2\caffe2_pybind11_state.vcxproj]
解决方法:打开Caffe2.sln,然后安装图中操作:
然后就可以通过VS编译一下Caffe2,至此Caffe2编译完成。 编译完后将caffe2_pybind11_state.pyd拷贝都python的DLLs目录例如:XXX\Anaconda2\DLLs 4. python使用:
import caffe2。但是会报no module的错。

>>> import caffe2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named caffe2

解决方案(1):

>>> import sys
>>> sys.path.append("X:/XXXX/caffe2/build")
>>> import caffe2
>>> import caffe2.python

解决方案(2):

参考网址:https://www.cnblogs.com/shanql/articles/5477483.html

windows下:找到python安装环境中的site-packages文件夹:

新建mypkpath.pth(注:必须以.pth为后缀),然后在文件中将X:/XXXX/caffe2/build写入保存即可。

这样的做法目的应该是类似C、C++将头文件告诉python,运行时python再找对应的dll。

 
 

windows编译caffe2遇到的问题的更多相关文章

  1. OGRE 2.1 Windows 编译

    版权所有,转载请注明链接 OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE ...

  2. Windows编译ejabberd

    Windows编译ejabberd(金庆的专栏)安装 erlang OTP. 添加路径到 PATH, 使 erl 可以运行.git clone ejabberd安装 rebar:git clone g ...

  3. 【转载】OGRE 2.1 Windows 编译

    OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE: OGRE官方推出了最新 ...

  4. CEF3.2623使用记录:windows编译

    CEF3.2623使用记录:windows编译 1:cef3.2623下载地址 2623是cef3最后一个支持xp系统的版本,且可以支持html的audio标签,可以用作对html音频的处理下载地址为 ...

  5. Windows 编译安装 nginx 服务器 + rtmp 模块

    有关博客: <Windows 编译安装 nginx 服务器 + rtmp 模块>.<Ubuntu 编译安装 nginx>.<Arm-Linux 移植 Nginx> ...

  6. php beast windows编译教程

    git clone https://github.com/Microsoft/php-sdk-binary-tools.git c:\php-sdk cd c:\php-sdk git checkou ...

  7. Win10上使用VS2015编译Caffe2

    Caffe2的官网:https://caffe2.ai/ 1.下载.安装及相关准备 在Caffe2的官网点击"Get Started",即进入安装说明页面.官方还未提供编译好的bi ...

  8. Windows编译Nginx源码

    Windows下的Nginx战役,人不作就不会死!就像是拿着麦当劳的优惠券去买肯德基一样,别扭啊 Nginx是一款轻量级的Web 服务器.反向代理服务器.邮件服务器等等集一大串荣誉于一身的大牌人物!他 ...

  9. 在windows编译MariaDB

    OS: Windows XP sp3 IDE: VS2010 MariaDB: V5.5 (到目前为止2016.5,中文域(.cn)只有清华大学 TUNA 镜像源可用) (.tar.gz为源码:.zi ...

随机推荐

  1. Hdu 1867 KMP

    题目链接 题目意思: 给出两个字符串a, b, 求最长的公共字串c, c是a的后缀,也是b的前缀. 本题没有具体说明哪个字符串是文本串和匹配串, 所以都要考虑 思路: 查找的时候, 当文本串结束的时候 ...

  2. 微信小程序云数据库——where查询和doc查询区别

    用法 条件查询where 我们也可以一次性获取多条记录.通过调用集合上的 where 方法可以指定查询条件,再调用 get 方法即可只返回满足指定查询条件的记录,比如获取用户的所有未完成的待办事项,用 ...

  3. 【Leetcode链表】奇偶链表(328)

    题目 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂度应为 O(1 ...

  4. activemq入门demo

    创建maven工程,pom文件如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...

  5. 2018-8-9-win10-uwp-装机必备应用-含源代码

    title author date CreateTime categories win10 uwp 装机必备应用 含源代码 lindexi 2018-8-9 9:7:31 +0800 2018-8-9 ...

  6. 从Kubernetes 1.14 发布,看技术社区演进方向

    Kubernetes 1.14 正式发布已经过去了一段时间,相信你已经从不同渠道看过了各种版本的解读. 不过,相比于代码 Release,马上就要迎来5周岁生日的Kubernetes 项目接下来如何演 ...

  7. .Net Core,VUE,VS Code,Sql Sugar,Element UI学习笔记

    1..Net Core的目的是跨平台,并主要目标是作为服务端开发使用.从3.0开始,引入了Winfrom和WPF. 2..Net Core可以引用.Net Framework生成的dll和exe,不限 ...

  8. CODE FESTIVAL 2017 qual B B - Problem Set【水题,stl map】

    CODE FESTIVAL 2017 qual B B - Problem Set 确实水题,但当时没想到map,用sort后逐个比较解决的,感觉麻烦些,虽然效率高很多.map确实好写点. 用map: ...

  9. @codeforces - 1205E@ Expected Value Again

    目录 @description@ @solution@ @part - 1@ @part - 2@ @part - 3@ @solution@ @details@ @description@ 给定两个 ...

  10. @hdu - 6594@ Double Tree

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定两棵 N 个点的树,以及树上每条边的权值 w(u, v),每 ...