MXNet 学习 (1) --- 最易上手的深度学习开源库 --- 安装及环境搭建
安装环境:Win 10 专业版 64位 + Visual Studio 2015 Community。
记录下自己在有GPU的环境下安装配置MXNet的过程。该过程直接使用MXNet release 的 pre-built 包,没有自己使用CMake编译。网上有很多自己编译的教程,过程都比较繁琐,直接使用release包对新手来说更加简单方便。
选择MXNet的原因是因为看了《Caffe、TensorFlow、MXNet三个开源库的对比》这篇博文,其中指出MXNet相对来说是最易上手的深度学习开源库,所以选择该开源库作为初学工具。

官方文档
Getting Started: http://mxnet.readthedocs.io/en/latest/get_started/
安装
配置MXNet的pre-built包
- 下载链接:https://github.com/dmlc/mxnet/releases

- 解压pre-built包到合适的位置,如 E:\MXNet;
- 运行setupenv.cmd,该步骤会帮助添加各种系统环境变量,运行后可以检查下自己的系统环境变量是否正确

- 解压的包里有readme文档,可作为安装过程中的参考。
分为不支持GPU的版本和支持GPU的版本,我的电脑支持GPU,因此选择gpu版本的。
配置cuDNN
- 下载链接:https://developer.nvidia.com/cudnn (需要注册为开发者后才能下载)
- 解压cuDNN包,将目录下的bin、include和lib文件夹copy到E:\MXNet\3rdparty\cudnn目录下,覆盖原文件
安装Python2 (version 2.7.11) / Python3 (version 3.5.1)
- 最好python3和python2都安装,虽然发现后面运行默认使用的是python3
- 下载地址:https://www.python.org/downloads/ 选择64位的安装包
- pre-built包是64位的,所以记得安装64位的Python,选择自定义安装,并勾选添加路径到系统变量选项,没有勾选的需要手动添加python安装路径到环境变量。刚开始不小心装了32位的,结果运行报错
安装MXNet的python包
- cmd模式下进入目录 E:\MXNet\python,如下所示:
- 运行python setup.py install,等待安装完毕。安装过程会下载安装python的numpy模块,记得检查是否有错误,如果有错,需要重新运行。
- 我自己在安装的时候因为网络不好,好几次都超时中断了。
- 运行readme文档里的实例代码,看是否正确
- cmd模式下进入目录 E:\MXNet\python,如下所示:
参考其他文章,自己编译需要用到以下工具,记录下来备用:
1. OpenCV (version 3.1):OpenCV3.1已经发布,但是只有64位版的。需要32位版本的建议使用OpenCV3.0
下载链接:http://opencv.org/downloads.html
2. OpenBlas
BLAS (Basic Linear Algebra Subprograms):基础线性代数子程序库,是一个应用程序接口(API)标准,说的简单点就是向量、矩阵之间乘加这些运算。
OpenBlas是BLAS的开源优化库,支持CPU多线程。
看到解压出来的 MXNet pre-built包的3rdparty文件夹下有openblas,应该不用自己再下载了。
单独的下载链接为:https://sourceforge.net/projects/openblas/files/latest/download?source=files
相关文档:https://github.com/xianyi/OpenBLAS/wiki/Document
3. CMake工具
非常强大的编译自动配置工具,可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。
下载链接:https://cmake.org/download/
入门参考:http://www.cnblogs.com/sinojelly/archive/2010/05/22/1741337.html
MXNet 学习 (1) --- 最易上手的深度学习开源库 --- 安装及环境搭建的更多相关文章
- mxnet:结合R与GPU加速深度学习
转载于统计之都,http://cos.name/tag/dmlc/,作者陈天奇 ------------------------------------------------------------ ...
- 深度学习与CV教程(8) | 常见深度学习框架介绍
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...
- mxnet:结合R与GPU加速深度学习(转)
近年来,深度学习可谓是机器学习方向的明星概念,不同的模型分别在图像处理与自然语言处理等任务中取得了前所未有的好成绩.在实际的应用中,大家除了关心模型的准确度,还常常希望能比较快速地完成模型的训练.一个 ...
- 对比学习:《深度学习之Pytorch》《PyTorch深度学习实战》+代码
PyTorch是一个基于Python的深度学习平台,该平台简单易用上手快,从计算机视觉.自然语言处理再到强化学习,PyTorch的功能强大,支持PyTorch的工具包有用于自然语言处理的Allen N ...
- Python深度学习读书笔记-1.什么是深度学习
人工智能 什么是人工智能.机器学习与深度学习(见图1-1)?这三者之间有什么关系?
- 【深度学习笔记】(一)TensorFlow安装及环境搭建
在学习了一段时间台大李宏毅关于deep learning的课程,以及一些其他机器学习的书之后,终于打算开始动手进行一些实践了. 感觉保完研之后散养状态下,学习效率太低了,于是便想白天学习,晚上对白天学 ...
- 学习笔记︱Nvidia DIGITS网页版深度学习框架——深度学习版SPSS
DIGITS: Deep Learning GPU Training System1,是由英伟达(NVIDIA)公司开发的第一个交互式深度学习GPU训练系统.目的在于整合现有的Deep Learnin ...
- 深度学习Bible学习笔记:第七章 深度学习中的正则化
一.正则化介绍 问题:为什么要正则化? NFL(没有免费的午餐)定理: 没有一种ML算法总是比别的好 好算法和坏算法的期望值相同,甚至最优算法跟随机猜测一样 前提:所有问题等概率出现且同等重要 实际并 ...
- 【深度学习笔记】(一)Mac下TensorFlow安装及环境搭建
本文由@ray 出品,转载请注明出处. 文章链接:http://www.cnblogs.com/wolfray/p/7828903.html 在学习了一段时间台大李宏毅关于deep learning ...
随机推荐
- windows 快捷键
Windows 系统 f6 在同一个应用的不同窗口进行切换 ctrl-shift 拖动,创建文件快捷方式 shift 右键点击文件 可以出现复制路径的菜单 WIN键组合键 Windows Key + ...
- 现在写 PHP,你应该知道这些
现在写 PHP,你应该知道这些 2015-10-21 分类:WEB开发.编程开发.首页精华2人评论 来源:Scholer's Blog 分享到:更多3 二十万年薪PHP工程师培养计划 成 ...
- rabbitmq之amqp queue
rabbitmq作为一个消息中间件,暂存信息的能力是必不可少的. 镜像队列
- 使用Entity Framework 自动产生的Sql语句
对于一个单独实体的通常操作有3种:添加新的实体.修改实体以及删除实体. 1.添加新的实体 Entity Framework Code First添加新的实体通过调用DbSet.Add()方法来实现. ...
- 采用CSS3的动态元素(动画)设计div块的层级式展现
此练习作品是为学习HTML5+CSS3而设计的(如有不好请大家批评指教~~~). 操作:当页面加载时,点击网页中的绿色块(一层),则有其他几块(二层)从其中央出现并向外延伸并旋转,点击这几块中任意一个 ...
- 小试牛刀2:JavaScript基础题
JavaScript基础题 1.网页中有个字符串“我有一个梦想”,使用JavaScript获取该字符串的长度,同时输出字符串最后两个字. 答案: <!DOCTYPE html PUBLIC &q ...
- AFNetWorking 队列请求
我们在开发过程中,经常会遇到有些页面不止一个网络请求,有时候需要两个三个甚至更多,这个时候我们就需要队列请求,下边是GET请求的多个请求放在队列里边: NSURL *url = [NSURL URLW ...
- [PCL]FPFH描述子
fpfh_est.setSearchSurface(data); 如果没有设置SearchSurface,使用input数据集作为查找的表面 // If no search surface has b ...
- MVC控制器常用方法返回类型
控制器的常用方法 using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...
- java学习规划
今天在网上看到一位大学生的java学习线路规划,觉得蛮适合我,就详细阅读了一下,规划路线应该适用于大部分学习java语言的人,贴出来与大家共勉. 在学习的过程中,不能急于去学习更多的知识,因为知识是无 ...

