文档章节

win10成功安装GPU版MXNET的经历

q
 qinhui99
发布于 2017/02/24 10:15
字数 905
阅读 2399
收藏 0

MXNET是一款用于深度学习的工具和框架。优点是使用方便(支持python,R语言等等),性能好,支持多GPU,对神经网络支持比较好。有高层的符号定义语言,能比较方便地构建复杂的多层神经网络。目前得到亚马逊和apache的大力支持,前途应该还不错。

最大的缺陷就是文档少,用户群体不够多。MXNET的传送门:https://github.com/dmlc/mxnet/。

-----------------------------------------------------------------------------------------

新建了一个mxnet技术交流群, 群 号:589720184。有兴趣的可以加入。

-----------------------------------------------------------------------------------------

2017年9月25日更新:

安装GPU版本:pip install mxnet-cu80==0.11

(注释:==后面跟的是版本号。例如,0.11代表着0.11版本。在win10,gtx1080ti上测试通过)

2017年5月26日更新:

mxnet现在可以通过Pip直接安装了。

安装CPU版本:

pip install --upgrade mxnet

安装GPU版本:

$ sudo apt-get update
$ sudo apt-get install -y wget python
$ wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py
$ pip install mxnet-cu80

for windows platform:

pip install mxnet-cu80-win

详细内容参考:http://mxnet.io/get_started/install.html

-----------------------------------------------------------------------------------------

 

MXNET在win10上安装有些麻烦。网上安装成功的案例不少,很多都可以参考。例如,《Windows安装mxnet》。传送门:http://www.cnblogs.com/wacc/p/6096785.html。 

和《Windows安装mxnet》的环境有些不一样,我的环境是win10+cuda8+cudnn5.1。注意:安装环境是64位的。以下用到的软件通通都是64位的,千万不要搞成32位的。

 

1、第一步先安装显卡驱动,以便后面的cuda8安装时候能够识别显卡。

2、安装vs2013或者vs2015. 这步最后在cuda8安装之前完成。因为,cuda8安装时候会自动配置vs2013或者2015.

如果安装vs2013,那么还需要安装多一个Visual C++ Compiler Nov 2013 CTP

3、安装cuda8.

cuda8安装成功后,可以在vs2013或2015里面跑跑cuda的例子,看看是否正常。

4、安装opencv3.1. 

 

5、安装openblas。

 

6、安装cmake。

我选择了带图形界面的windows版本cmake。

7、下载mxnet源代码。

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

8、用cmake为mxnet项目制作一个vs2013或者vs2015的工程。(因为我用到cuda和cudnn,所以cmake这里要把cuda和cudnn相关目录设置正确. )

 

然后用vs2013或2015编译,选择release和64位编译,生成需要的libmxnet.dll。

9、安装python环境(mxnet只支持python2.7)。我这里直接用Anaconda安装相关的python包。

10、在python里安装mxnet。这步是最容易出错的。最常见的错误是:WindowsError: [Error 126]。就是DLL加载失败。为啥? 因为libmxnet.dll依赖多个dll文件,有一个找不到,就会报这个错。我尝试了跟踪dll的调用,终于找到解决办法。

1)把所有的opencv、openblas、cuda和cudnn的dll文件,通通拷贝到同一个目录下。例如,E:\common。dll文件都复制到这里。这些dll文件包括: cublas64_80.dll,cudart64_80.dll,cudnn64_5.dll,curand64_80.dll,libopenblas.dll,nvrtc64_80.dll,opencv_world310.dll,libgfortran-3.dll。libgfortran-3.dll很特殊,它是libopenblas.dll依赖的dll。我通过网络单独下载的。想要查看dll的依赖关系,可以用dependency walker的软件。

2)把E:\common目录设置在环境变量PATH里面。以便Python程序能够查找到。

11、启动python测试。import mxnet as mx.  这里应该不会再报错了。

 

 

此外,通过mxnet的预编译版本进行安装是最快的途径,因为不需要编译源代码,能节省不少时间。但是,这个途径不一定能成功(我只在win7系统成功安装过非GPU版的MXNET)。

 

© 著作权归作者所有

q
粉丝 66
博文 73
码字总数 34091
作品 0
深圳
程序员
私信 提问
windows下编译mxnet并使用C++训练模型

版权声明:原创文章如需转载,请在左侧博主描述栏目扫码联系我并取得授权,谢谢 https://blog.csdn.net/u012234115/article/details/80503086 大多数情况下,mxnet都使用python接口进行机器学...

踏莎行hyx
2018/05/29
0
0
业界 | MXNet开放支持Keras,高效实现CNN与RNN的分布式训练

  选自AWS Machine Learning Blog   作者:Lai Wei、Kalyanee Chendke、Aaron Markham、Sandeep Krishnamurthy   机器之心编译   参与:路、王淑婷      今日 AWS 发布博客宣布 ...

机器之心
2018/05/22
0
0
MXNet 宣布支持 Keras 2,可更加方便快捷地实现 CNN 及 RNN 分布式训练

雷锋网(公众号:雷锋网) AI 研习社按,近期,AWS 表示 MXNet 支持 Keras 2,开发者可以使用 Keras-MXNet 更加方便快捷地实现 CNN 及 RNN 分布式训练。AI 研习社将 AWS 官方博文编译如下。 Ke...

孔令双
2018/05/23
0
0
linux下编译mxnet并使用C++训练模型

版权声明:原创文章如需转载,请在左侧博主描述栏目扫码联系我并取得授权,谢谢 https://blog.csdn.net/u012234115/article/details/79737005 mxnet是最近流行的机器学习框架之一,使用起来体...

踏莎行hyx
2018/03/29
0
0
云上深度学习实践(二)-云上MXNet实践

目录 云上深度学习实践(一)-GPU云服务器TensorFlow单机多卡训练性能实践 云上深度学习实践(二)-云上MXNet实践 1 MXNet 简介 1.1 MXNet特点 MXNet是一个全功能,灵活可编程和高扩展性的深...

撷峰
2018/07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
10
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0
PHP+Ajax微信手机端九宫格抽奖实例

PHP+Ajax结合lottery.js制作的一款微信手机端九宫格抽奖实例,抽奖完成后有收货地址添加表单出现。支持可以设置中奖概率等。 奖品列表 <div class="lottery_list clearfix" id="lottery"> ......

ymkjs1990
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部