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,它的作用是理清楚库文件的依赖关系,有助于后面讲依赖库的版本情况:

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

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的目录里,形成一个完成的结构

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了。

祝你成功

 

转载于:https://www.cnblogs.com/yying/p/6843129.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bzoj 3224 Tyvj 1728 普通平衡树

题目大意: 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数&#xff0c…

不懂毫米波雷达?5分钟读懂毫米波雷达的那些事儿

2019年是毫米波风生水起的一年,也是毫米波名声大噪的一年。毫米波应用范围广泛,如毫米波雷达、毫米波天线等。而本文,将向大家介绍毫米波雷达,主要内容包括:毫米波雷达原理、毫米波雷达主要特点、毫米波雷达优势以及毫…

redis集群的搭建

########环境######### centos 7.2 , gcch 环境ruby 2.0.0 redis 3.2.8 redis-3.3.3gem 公司要求搭建redis集群, 本来觉得挺好搞的,没想到弄到现在.... 1, 环境准备 gcc , ruby 等环境准备 yum -y install gcc ruby ruby-devel rubygems rpm-build zlib redis-ruby接口安装, 我…

2017-2018-1 20155227 《信息安全系统设计基础》第十三周学习总结

2017-2018-1 20155227 《信息安全系统设计基础》第十三周学习总结 找出全书你认为最重要的一章,深入重新学习一下,要求(期末占10分): 完成这一章所有习题详细总结本章要点给你的结对学习搭档讲解你的总结并获取反馈我选…

进程间五种通信方式

进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。 IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机…

电子书下载:Silverlight 5 in Action

下载:http://www.ctdisk.com/file/8447319

Virtualbox桥接网卡设置

正常情况下,像设置virtualbox虚拟机的桥接网卡非常简单,只需要点配置,然后在配置界面点击网络,然后在右边的网络里选择桥接网络即可。但是如果这么简单就好了,今天要说的就是在不正常的情况下是怎么设置的。 工具/原料…

SQL疑难杂症【4 】大量数据查询的时候避免子查询

前几天发现系统变得很慢,在Profiler里面发现有的SQL执行了几十秒才返回结果,当时的SQL如下: 可以看得出来,在652行用了子查询,恰巧目标表(QS_WIP)中的记录数为100000000,通过如下SQL可以得到: S…

『原创』一个基于Win CE 5.0的Txt文件阅读器

最近,拿到一台亲戚送的GPS导航仪,其系统是基于WinCE5.0的,所以我觉得可以写点小程序上去,上网一搜,还附带破解方法,把GPS破解后就变成一台屏幕超大的PDA了,于是我想用它看电子书,无奈…

ARM Cortex-A系列(A53、A57、A73等)处理器性能分类与对比

在如今这个电子产品泛滥的年代,仅仅靠品牌或是外观已经不足以辨别产品的优劣,其内置的处理器自然也就成为了分辨产品是否高端的标准之一。那么我们今天就不妨好好了解一下近几年来电子产品中较为主流的RAM处理器。 在这之前让我们先简单认识一下处理器的…

.NET 3.5 - DLINQ(LINQ to SQL)之面向对象的添加、查询、更新和删除

步步为营VS 2008 .NET 3.5(8) - DLINQ(LINQ to SQL)之面向对象的添加、查询、更新和删除作者&#xff1a;webabcd介绍以Northwind为示例数据库&#xff0c;DLINQ(LINQ to SQL)之完全面向对象的添加操作、查询操作、更新操作和删除操作示例Sample.aspx <% Page Language&quo…

ARM版本系列及家族成员梳理

ARM公司简介 ARM是Advanced RISC Machines的缩写&#xff0c;它是一家微处理器行业的知名企业&#xff0c;该企业设计了大量高性能、廉价、耗能低的RISC &#xff08;精简指令集&#xff09;处理器。 1985年第一个ARM原型在英国剑桥诞生。 公司的特点是只设计芯片&#xff0c…

tomcat源码阅读之StandardHost和StandardEngine

StandardHost及UML类图&#xff1a; 1、StandardHost类是Host接口的默认实现&#xff1b;其继承自ContainerBase类&#xff0c;说明他也是一个容器类&#xff0c;既然是容器类&#xff0c;那肯定也有管道对象PipeLine和阀门&#xff0c;其基础阀门&#xff08;Basic Valve&…

安防监控产业链全景梳理

安防行业是随着现代社会安全需求应运而生的产业&#xff0c;围绕着视频监控技术的改革创新&#xff0c;行业从“看得见、看得远、看得清到看得懂”&#xff0c;一共经历模拟监控、数字监控、网络高清监控和智能监控4个阶段&#xff0c;每一阶段的突破&#xff0c;都由上游技术的…

Vue项目搭建步骤

一&#xff0e; vue-cli初始化1. 全局安装 vue-cli  npm install --global vue-cli2. 创建一个基于 webpack 模板的新项目  vue init webpack my-project3. 安装依赖  cd my-project  npm install (换源安装: npm install --registry https://registry.npm.taobao.org …

Python tutor 简介

Python tutor 能够直观显示object 引用关系。 网址是 http://www.pythontutor.com/visualize.html 先分享一下我的一个Python tutor&#xff1a; 点我出现神奇&#xff1a; 1&#xff09; 编辑code。 2&#xff09; 运行&#xff0c; 能够看到以下界面。 这个工具是很酷的&…

光学镜头行业发展现状及趋势,智能手机应用领域占比最高

一、光学镜头分类 光学镜头也叫摄像镜头或摄影镜头&#xff0c;简称镜头&#xff0c;其功能就是光学成像。光学镜头是光学成像系统中的必备组件&#xff0c;直接影响到成像质量的好坏&#xff0c;影响算法的实现和效果。从结构来看&#xff0c;光学镜头一般由精密五金、塑胶零…

关于_vmvare workstation装32ubuntu的问题

刚开始启动的时候是黑屏&#xff0c;没有任何反应 1.bios也设置BIOS intel virtual technology 设置了enabled(开启硬件虚拟化:要运行一些操作系统&#xff0c;虚拟化软件和虚拟机&#xff0c;硬件虚拟化就需要启用。大多数情况下&#xff0c;不需要虚拟化技术的操作系统可以正…

360°环视(全景影像)系统发展趋势

360环视系统&#xff0c;系统同时采集车辆四周的影像&#xff0c;经过图像处理单元一系列的智能算法处理&#xff0c;最终形成一幅车辆四周的全景俯视图显示在屏幕上&#xff0c;直观地呈现出车辆所处的位置和周边情况。系统大大地拓展了驾驶员对周围和环境的感知能力&#xff…

数学之路(3)-机器学习(3)-机器学习算法-SVM[7]

SVM是新近出现的强大的数据挖掘工具&#xff0c;它在文本分类、手写文字识别、图像分类、生物序列分析等实际应用中表现出非常好的性能。SVM属于监督学习算法&#xff0c;样本以属性向量的形式提供&#xff0c;所以输入空间是Rn的子集。 图1 如图1所示&#xff0c;SVM的目标是找…