首先介绍下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。

 
 

最新文章

  1. AE开发示例之GPBufferLayer
  2. 回文字算法(java版本)
  3. Struts2工作原理
  4. MySQL-curses/termcap缺失
  5. flash项目优化总结
  6. ELK日志管理之——elasticsearch部署
  7. Haskell 与范畴论
  8. java的Random
  9. Flash图表控件FusionCharts如何自定义图表的工具提示
  10. AI--&gt;从新建文档开始说起,串联相关色彩知识
  11. WPF之UseLayoutRounding和SnapsToDevicePixels
  12. bzoj3505
  13. Windows Azure 社区新闻综述(#77 版)
  14. 快速排序Java版
  15. iphone 4s页面引用jssdk无效
  16. WebServeice 动态代理类
  17. xp,windows7,windows8,windows10那个系统好用些
  18. MySQL--运维内参中的binlog_summary脚本
  19. GO入门——2. 变量
  20. 百度,谷歌,360,搜狗,神马等蜘蛛IP段

热门文章

  1. WPF自定义控件 依赖属性绑定
  2. Hdu 4810
  3. javaweb学习总结(一) - - JSP取得绝对路径
  4. 批量或者选择导出datagrid列表数据到表格
  5. SQL语法之DDL和DML
  6. @atcoder - AGC037F@ Counting of Subarrays
  7. Datamation Index
  8. react+antd 点击分页为上次操作结果
  9. win10提示 磁盘包含不是“PARTITION_BASIC_DATA_GUID&quot;类型的分区
  10. eclipse maven项目导出所使用的jar包