Win10 + Python + MXNet + VS2015配置

栏目: 编程工具 · 发布时间: 6年前

内容简介:Win10 + Python + MXNet + VS2015配置

项目需要使用 MTCNN 来检测、对齐、剪切出人脸,它是使用MXNet作为框架的,但是我自己的Ubuntu里各种框架乱成一团,不想再添乱就铁了心要在windows里配一个。无奈网上的资料不多,挣扎了几天之后决定留下这么一份文档。

首先我们使用的不是DMLC在github上发布的那一套MXNet,它那个的windows版2016年就不更新了,现在负责维护的地址是这个:

https://github.com/yajiedesign/mxnet/releases

这是一个日更的版本,非常新。巧的是MTCNN也是用新版的MXNet,所以16年版的就不好使了,得靠这个日更的,以下关于这一套产品统称为【日更版】。

新版的MXNet里有一些参数在vc12编译出的库里没有,所以推荐使用vc14版本,也就是VS2015。

在正式讲安装配置步骤之前,先推荐一个软件叫Dependency Walker,它的作用是理清楚库文件的依赖关系,有助于后面讲依赖库的版本情况:

Win10 + Python + MXNet + VS2015配置

这是软件的使用截图,注意红框部分,这里需要我们对文件名有一点敏感:

1、LIBopenBLAS 没什么特别的,日更版里面自带了。

2、CUDART64_80、CURAND64_80、CUBLAS64_80、CUFFT64_80、NVRTC64_80 这四个留意后面的数字,这一组文件可以在3rdparty\cudart里找到,如果版本号不一样,请自行更正,日更版应该自带。

3、cuDNN64_5 这是需要自己去下载的文件,从文件名可以知道我们需要一个64位的cudnn,版本号大概是5开头,根据上面的说法我们还需要一个和CUDA8.0配合的cudnn。

4、NVCUDA 这很明显是NVIDIA的CUDA,不过没带版本号先不管它。

5、VCOMP140 这个可以翻3rdparty\vc 里找到,版本号不对请自行修改

6、KERNEL32、USER32 这种大众脸应该不是什么特别的需求,不管它们

import过程中出现的 [WinError 126]基本都是因为这个原因。

————————————————————————接下来开始正式讲步骤————————————————————————————

1、下载并解压日更版地址里的vc14 base package

2、下载并解压日更版地址里的2017xxxx_mxnet_x64_vc14_gpu.7z 到上面base package的目录里,形成一个完成的结构

Win10 + Python + MXNet + VS2015配置

2、其中最重要的一个东西便是其他各种教程里说的需要make呀,compile呀的那个 build\libmxnet.dll ,也就是上边dependency walker关注的这个文件,所以预编译版便是大佬帮我们事先编译好了这个dll。

3、[WinError 126]出现的原因在于import一个模块的时候,它的依赖库需要的依赖库也必须可以找到,不然就报错。

4、照上面所说装好cuda8.0,这个教程很多 也很好装。

5、准备好cudnn5系列 for cuda8.0

6、关注一下日更版里的文件,先运行根目录下的setupenv.cmd,这个文件是设置所有的相关环境变量的

建议点开之前先留意一下【用户变量】里的path,我在使用过程中出现字符过长被截断的问题,换句话说我之前的用户变量被破坏掉了一部分,所以请提前做好准备

7、命令行到 python 目录,执行

D:\MXNet\python> python setup.py install

8、最后进到 MXNet\3rdparty 里把cudnn的相关文件复制进去就好了,其他的依赖文件应该都在

9、可以进python尝试import mxnet了。

祝你成功


以上所述就是小编给大家介绍的《Win10 + Python + MXNet + VS2015配置》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

码出高效:Java开发手册

码出高效:Java开发手册

杨冠宝、高海慧 / 电子工业出版社 / 2018-10 / 99.00元

《码出高效:Java 开发手册》源于影响了全球250万名开发工程师的《阿里巴巴Java开发手册》,作者静心沉淀,对Java规约的来龙去脉进行了全面而彻底的内容梳理。《码出高效:Java 开发手册》以实战为中心,以新颖的角度全面阐述面向对象理论,逐步深入地探索怎样成为一位优秀开发工程师。比如:如何驾轻就熟地使用各类集合框架;如何得心应手地处理高并发多线程问题;如何顺其自然地写出可读性强、可维护性好的......一起来看看 《码出高效:Java开发手册》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具