注:本文原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/)

我笔记本配置比较低,想装个轻量级的MXNet试试,装完之后报错,不是有效的应用程序,找不到libinfo.py等等,同样的问题在github上也有很多人问,但是作者说也不知道问题在哪,自己折腾了两天,终于装好可以使用了,分享如下:

首先报一下我的机器环境:Win7-64bit,已装了WinPython-64bit-3.4.3.2、CUDA5.5、VS2013 update5。

一、获取MXNet:

git clone --recursive https://github.com/dmlc/mxnet

我的路径是D:\mxnet\

二、安装其他依赖:

需要OpenCV、OpenBLAS、CuDNN、CUDA(强烈推荐,前三个用我上传的打包版

1. OpenCV3:

官网下载(http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0/opencv-3.0.0.exe/download),也可以使用我上传的单独版本。链接: http://pan.baidu.com/s/1c0YkB8 密码: mnu6

2. OpenBLAS:

官网下载(https://sourceforge.net/projects/openblas/),目标是生成openblas.lib,自己弄比较麻烦,可以看后面我提供的现成版。

3. CuDNN:

官网下载(https://developer.nvidia.com/cudnn),下载需要注册英伟达开发者账号,可以直接看我后面提供的现成版。

4. CUDA7.5

官网下载(https://developer.nvidia.com/cuda-downloads)并安装。我上传的单独版本:链接: http://pan.baidu.com/s/1c2Bd4Gg 密码: fpm2

5. 打包版:

为了方便大家,不用自己去生成openblas.lib,我打包了OpenCV3、OpenBLAS、CuDNN,大家可以直接下载解压到mxnet目录下(我的目录是:D:\mxnet\mxnet\mxnet_thirdparty)  链接: http://pan.baidu.com/s/1c1VLZAK 密码: ntrj

三、增强VS2013:

因为MXNet用到了许多C++ 11的新特性,所以需要增强VS2013使其支持,下载 Visual C++ Compiler Nov 2013 CTP(https://www.microsoft.com/en-us/download/details.aspx?id=41151)并安装,然后把 C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP\ 文件夹内所有拷贝至你的VS2013目录,如:拷贝至 D:\Microsoft Visual Studio 12.0\VC\ 目录下覆盖。

也可从我的百度盘下载:链接: http://pan.baidu.com/s/1bEVi5C 密码: p6s3

四、修改配置文件(不确定是否必须,我摸索过程中自己改的。。):

打开 mxnet\make\config.mk,更改以下几处:

第49行:USE_CUDNN = 1

第69行:USE_BLAS = openblas

另外搜索mxnet目录下其他config.mk文件,相应的,都把USE_BLAS后的值改成openblas。

五、CMake编译:

我下载安装了最新版的Cmake,链接: http://pan.baidu.com/s/1o7JusDs 密码: aicj

然后按照我下面这样设置,Configure,Generate,没报错就OK了

六、生成libmxnet.dll:

VS2013打开mxnet_build目录下的mxnet.sln,模式切换为Release,编译一下,全部OK之后,在mxnet_build\Release目录下生成了libmxnet.dll文件。

七、安装Python的MXNet库:

把第六步生成的dll文件拷贝至D:\mxnet\mxnet\python\mxnet目录内,切换至该目录,执行python setup.py build; python setup.py install

八、解决问题:

这时候安装完毕后,import mxnet 是会报错的,而且两次import报的错还不同,一次是找不到dll,第二次是找不到libinfo.py,就是这个问题github上很多人问,但是并没有完整的解决方案,我自己摸索的解决方法是:把我上传的打包版压缩包里的8个dll文件复制到python.exe目录下,然后就行啦!

九、跑个例子试试:

跑例子也是蛮头疼的,示例代码里相关配置都是Linux下的,dataset也要自己下载。。在D:\mxnet\mxnet\example\image-classification目录内新建文件夹:mnist

下载dataset:链接: http://pan.baidu.com/s/1gfHIXt5 密码: u33x

4个文件分别解压到mnist目录下,把文件名中的'.'全改成'-',即让四个文件没有后缀名。(或者你可以直接更改train_mnist.py里的代码)

官方例子见这里:http://mxnet.readthedocs.io/en/latest/get_started/#python

MXNet在64位Win7下的编译安装的更多相关文章

  1. 关于在64位win7下运行Virtualbox安装系统时出错(提示VBoxDD.DLL错误)的解决方

    安装没有问题,安装了最新版VirtualBox-4.3.18-96516-Win,一点运行想安装系统时就出错. 这是提示的错误: 运行Virtualbox去安装系统时出错:Failed to open ...

  2. 64位Win7下运行ASP+Access网站的方法

    64位Win7下运行ASP+Access网站的方法 近日系统升级为WIN7 64位之后,突然发现原本运行正常的ASP+ACCESS网站无法正常连接数据库. 网上搜索多次,终于解决了问题,总结了几条经验 ...

  3. 64位Win7下H3C的iMC无法查看“网络拓扑”的解决方法、心路历程

    64位Win7下H3C的iMC无法查看"网络拓扑"的解决方法.心路历程

  4. windows(64位)下使用curl安装

    windows(64位)下使用curl安装 转自:https://blog.csdn.net/wkj001/article/details/54889907 2017年02月06日 09:46:47  ...

  5. 64位Win7下用VS2010编译OpenSSL

    http://blog.csdn.net/henter/article/details/8364532 首先要说明,如果不想自己编译OpenSSL,可以到 http://slproweb.com/pr ...

  6. 64位Win7下安装与配置PHP环境【Apache+PHP+MySQL】

    [软件下载] 本安装实例所使用安装文件如图所示: 其中,64位版本的MySQL安装文件mysql-5.5.33-winx64.msi,可直接从官网下载,下载地址:http://dev.mysql.co ...

  7. 64位ubuntu下重新编译hadoop2.2流水账

    hadoop官方网站中只提供了32位的hadoop-2.2.0.tar.gz,如果要在64位ubuntu下部署hadoop-2.2.0,就需要重新编译源码包,生成64位的部署包.建议以下操作使用roo ...

  8. Win7系统64位环境下使用Apache——安装Apache2.4时报错“Invalid command Order”问题的解决

    之前在文章Win7系统64位环境下使用Apache--Apache2.4整合Tomcat与mod_jk提到了安装Apache2.4时有可能报错: Invalid command 'Order', pe ...

  9. C# 64位win7下DllImport LoadLibrary函数失败 z

    [DllImport["kernel32.dll"]] static extern IntPtr LoadLibrary(string lpFileName); public vo ...

随机推荐

  1. cgi表单的处理

    在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送 到了服务器端,一般的,这时就需要有一个服务器端脚本来对表单的内容进行一些处理, 或者是把它们保存起来,或者是按内容 ...

  2. 原生JQ实现图片滑动轮播

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  3. Memcached 工作原理

    http://hzp.iteye.com/blog/1872664 Memcached处理的原子是每一个(key,value)对(以下简称kv对),key会通过一个hash算法转化成hash-key, ...

  4. 在DataTable中添加行和列数据

    DataRow newRow = dtResult.NewRow(); newRow["ProName"] = "名字"; newRow["ProPr ...

  5. 自己动手写一个简单的(IIS)小型服务器

    因为第一次在博客园发表随笔,不太会用,这个笔记是我之前在印象笔记中写好的,然后直接copy过来,有兴趣自己做一个IIS服务器的小伙伴们可以参照下面的流程做一次,也可以叫我要源代码,不过要做完,我觉得花 ...

  6. 20160504-hibernate入门

    关系型数据库与面向对象 模型不匹配(阻抗不匹配) Java面向对象语言,对象模型,其主要概念有:继承.关联.多态等:数据库是关系模型,其主要概念有:表.主键.外键等. 解决办法: 1使用JDBC手工转 ...

  7. python内置函数大全

    一.数学运算类 abs(x) 求绝对值1.参数可以是整型,也可以是复数2.若参数是复数,则返回复数的模 complex([real[, imag]]) 创建一个复数 divmod(a, b) 分别取商 ...

  8. Ext.Net学习笔记16:Ext.Net GridPanel 折叠/展开行

    Ext.Net学习笔记16:Ext.Net GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候 ...

  9. unity访问php

    长连接,弱联网.不好意思,这俩不是一个意思. 反过来说,短连接,强联网,是不是有点别扭呢. 你可以不会php,甚至你可以不知道php是干什么的. 百度php安装环境,自行搭建好环境,顺便测试一下.(下 ...

  10. infopath 之绑定列表 数据源

    在psd中启动infopath更新表单模版 注:虽然可能在infopath design中预览的时候会报错说是跨域数据不能加载,别理他 继续发布上站点就不会有这个错误了. 绑定list后效果: 参考u ...