MxNet系列——get_started——windows_setup

翻译 2017年02月08日 15:58:58

Windows上安装 MXNet

在Windows上,你可以直接下载和安装已经编译过的MXNet工具包,或者自行下载,构建,安装MXNet。

构建MXNet共享库(动态链接库)

两种方法:既可以直接下载并使用已预编译过的二进制包,也可以从源代码自行构建MXNet共享库 - libmxnet.dll

Windows上安装已编译的MXNet工具包。

MXNet 为Windows用户提供了已编译的MXNet工具包。已编译过的工具包包含了MXNet库,所有的第三方依赖库,一个Visual Studio的例程项目,和Python安装脚本。安装步骤如下所示:

  1. 从 MXNet Releases 列表中下载最新的预编译的工具包。有2个版本,一个支持GPU(使用CUDA和CUDNN v3),另一个不支持GPU。请选择并下载适合你的硬件配置(关键在于,有无NVIDIA显卡)的版本。关于哪个版本在哪种硬件上工作,请查看 Requirements for GPU
  2. 解压下载的压缩包,并重命名,比如 D:\MXNet
  3. 打开文件夹,双击 setupenv.cmd 进行安装。它将会设置MXNet需要的所有环境变量
  4. 测试安装是否成功。通过构建文件夹中的 Visual Studio 的例程项目,来测试是否安装成功。

这将会生成一个动态链接库 libmxnet.dll

Windows上构建和安装MXNet

如果你要在Windows上自行构建和安装MXNet,你需要安装下面的依赖库:

  1. 如果还没有安装 Microsoft Visual Studio 2013,请下载并安装它。你可以下载和安装免费的社区版。
  2. 安装 Visual C++ Compiler Nov 2013 CTP.
  3. C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC 文件夹中的所有文件备份到其它地方去。
  4. C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP 文件夹(注意:解压目录)中的所有文件复制到 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC 目录下,并覆盖所有已存的文件。
  5. 下载并安装 OpenCV
  6. 解压OpenCV压缩包。
  7. 设置环境变量 OpenCV_DIR 指向OpenCV构建目录 OpenCV build directory
  8. 如果你没有安装 Intel Math Kernel Library (MKL),下载并安装 OpenBlas
  9. 设置环境变量 OpenBLAS_HOME 指向 OpenBLAS 目录,该目录下有 includelib 文件夹。默认安装位置为:C:\Program files (x86)\OpenBLAS\
  10. 下载并安装 CuDNN。访问下载链接,需要注册成为NVIDIA社区用户。

安装完所有的依赖库之后,按照下面的步骤构建MXNet源码:

  1. GitHub 下载 MXNet 源代码。
  2. 使用 CMake ,在 ./build目录下,创建一个 Visual Studio 解决方案。
  3. 使用 Visual Studio,打开解决方案文件 .sln,并编译它。这些操作之后,会 生成一个叫做 mxnet.dll 动态链接库,它位于 ./build/Release/./build/Debug 目录。

下面安装 graphviz库,它用于可视化神经网络。我们也将安装 Jupyter Notebook,它用于运行MXNet教程和例程。
- 下载 Graphviz。双击安装即可。
注意: 务必将 graphviz 可执行文件所在的目录添加到环境变量 PATH中。参考 here for more details
- 通过安装 Anaconda for Python 2.7来安装 Jupyter
注意: 不要安装 Anaconda for Python 3.5。MXNet 和 Python 3.5 有些兼容问题。

我们已经安装了MXNet的核心库。接下来,我们将会为你选择的编程语言安装MXNet接口包:
- Python
- R
- Julia
- Scala

安装MXNet的Python接口

  1. 安装 Python点此下载
  2. 安装 Numpy点此下载
  3. 接下来,安装MXNet的Python接口。 MXNet的Python接口的位置 MXNet on GitHub
# 假定当前工作目录是MXNet源代码的根目录
cd python
sudo python setup.py install

至此,MXNet的Python接口已经安装完了。执行下面的命令,验证是否安装成功。

# 打开 Python 终端
python

# 如果安装成功,导入mxnet时,不会有任何问题
>>> import mxnet as mx;
>>> a = mx.nd.ones((2, 3));
>>> print ((a*2).asnumpy());
    [[ 2.  2.  2.]
    [ 2.  2.  2.]]

上面的代码使用MXNet完成了一个简单的张量计算。至此,你已经在Windows中将MXNet完整配置完了。

安装MXNet的R语言接口

MXNet的R语言接口支持CPUs/GPUs。

在带CPU的计算机上安装MXNet

在带CPU的计算机上安装MXNet,有两个选择:

  • 使用预编译的二进制包
  • 从源代码自己构建MXNet库

使用预编译的二进制包安装MXNet的R语言接口

对于Windows用户,MXNet提供了CPU版本的预编译的二进制包,每周都会更新。你可以在R控制台中使用下面的命令直接安装:

install.packages("drat", repos="https://cran.rstudio.com")
drat:::addRepo("dmlc")
install.packages("mxnet")

从源代码自己构建MXNet库

执行下面的命令,安装MXNet依赖,并构建MXNet的R包:

Rscript -e "install.packages('devtools', repo = 'https://cran.rstudio.com')"
cd R-package
Rscript -e "library(devtools); library(methods); options(repos=c(CRAN='https://cran.rstudio.com')); install_deps(dependencies = TRUE)"
cd ..
make rpkg

注意: R-package 是MXNet根目录中的一个文件夹。

这些命令将创建一个MXNet的R包,它是一个 tar.gz 文件。你可以将其作为一个R包进行安装。执行下面的命令(注意 MXNet 的版本号),安装R包:

R CMD INSTALL mxnet_0.7.tar.gz

在带GPU的计算机上安装 MXNet

在带GPU的计算机上安装 MXNet,你需要一下工具:

  • Visual Studio 2013

  • CUDA 工具包

  • MXNet 工具包

  • CuDNN (提供深度神经网络库)

下面安装依赖环境和安装MXNet的R语言接口:

  1. 如果还没有安装 Microsoft Visual Studio 2013,下载并安装它。你可以下载和安装免费的社区版。
  2. 安装 CUDA 工具包。CUDA 工具包依赖于 Visual Studio。了解你的GPU和CUDA是否兼容和更多信息,请查看 CUDA Installation Guide
  3. MXNet Github repository 下载MXNet包,并解压。下面,你会编辑 "/mxnet/R-package" 文件夹。
  4. Releases 列表中,下载最新的支持GPU的MXNet包。解压文件,并切换到 /nocudnn 目录。
    注意: 你将会将一些文件复制到 MXNet 的 R-package 文件夹。当前的两个工作目录是:R-package/nocudnn/
  5. 下载和安装 CuDNN V3。访问下载链接时,需要注册为NVIDIA社区会员。解压 .zip 文件,可以看见3个文件夹: /bin, /include, 和 /lib。将这些文件夹复制到 nocudnn/3rdparty/cudnn/ 目录下,替换原来的文件夹。你也可以直接将 .zip 文件解压到 nocudnn/ 文件夹。
  6. 创建 R-package/inst/libs/x64 文件夹。MXNet 只支持 64-bit 操作系统,所以你需要 x64 文件夹。
  7. 将下面的动态链接库 (.dll 文件) 复制到 R-package/inst/libs/x64 目录:
    • nocudnn/lib/libmxnet.dll。
    • nocudnn/3rdparty/的4个子目录下的所有 *.dll 文件。cudnn 和 openblas .dll 文件位于 /bin 目录。
      现在,R-package/inst/libs/x64 文件夹中应该有 11 个 .dll 文件。
  8. nocudnn/include/ 文件夹复制到 R-package/inst/中。现在,你应该有一个名字为 R-package/inst/include/ 文件夹,它有3个子文件夹。
  9. 确认 R 已经添加到环境变量 PATH 中。在终端中输入命令 where R,将会返回它的位置。
  10. 执行命令 R CMD INSTALL --no-multiarch R-package,进行安装。

注意: 为了最大化它的可移植性,MXNet库 is built with the Rcpp end。Windows操作系统需要 MSVC (Microsoft Visual C++) 来处理 CUDA 工具链的兼容性。

安装MXNet的Julia接口

MXNet的Julia接口存放在一个独立的仓库 MXNet.jl 中。为了使用 Julia,将其绑定到已经安装的 libmxnet。 通过执行下面的命令,来设置环境变量 MXNET_HOME

export MXNET_HOME=/<path to>/libmxnet

上面命令中的 libmxnet 的安装路径,是指 libmxnet 的根目录。换句话说,你可以在 $MXNET_HOME/lib 目录下找到 libmxnet.so。比如,如果 libmxnet 的所在的目录是 ~,你应该执行下面的命令:

export MXNET_HOME=/~/libmxnet

你可能希望将这个命令添加到 ~/.bashrc 文件中。如果已经添加,你可以使用下面的命令,在Julia控制台中安装Julia包:

Pkg.add("MXNet")

更多关于安装和使用MXNet的Julia接口的细节,请查看 MXNet Julia documentation

安装MXNet的Scala接口

安装MXNet的Scala接口的方法有有2种:

  • 使用预编译的二进制包

  • 从源代码构建MXNet的Scala库

使用预编译的二进制包

对于 Linux 和 OS X (Mac) 用户,MXNet提供了预编译的二进制包,既支持支持CPU,也支持GPU。使用 Maven 下载和构建这个包,在下面的Maven依赖中, 根据你的硬件架构改变 artifactId

<dependency>
  <groupId>ml.dmlc.mxnet</groupId>
  <artifactId>mxnet-full_<system architecture></artifactId>
  <version>0.1.1</version>
</dependency>

例如,下载和构建 64-bit OS X 只支持CPU的版本,使用下面的命令:

<dependency>
  <groupId>ml.dmlc.mxnet</groupId>
  <artifactId>mxnet-full_2.10-linux-x86_64-gpu</artifactId>
  <version>0.1.1</version>
</dependency>

如果你的本地环境与集成包稍微不同,例如,如果你使用的不是atlas而是openblas,最好使用mxnet-core包,并使用编译后的Java本地包的路径 mxnet-core_2.10

<dependency>
  <groupId>ml.dmlc.mxnet</groupId>
  <artifactId>mxnet-core_2.10</artifactId>
  <version>0.1.1</version>
</dependency>

从源代码构建MXNet的Scala库

在从源代码构建MXNet的Scala库之前,你必须完成 第一步,构建共享库。之后,在MXNet根目录中,运行下面的命令来构建MXNet的Scala库:

make scalapkg

这个命令将会为assembly, core, 和 example创建JAR文件。它也会在 native/{your-architecture}/target directory 目录下创建本地库,它可以和其它核心模块协同工作。

在MXNet根目录下,执行下面的命令,将MXNet的Scala包安装到本地Maven仓库:

make scalainstall

下一步

MxNet系列——Windows上安装MxNet

开发环境 操作系统:Win7 64bit C++编译器:Visual Studio 2010 Python环境:Python 2.7.12 (Anaconda 4.1) 安装过程 下载MxNet预编译...
  • xuezhisdc
  • xuezhisdc
  • 2016年12月22日 20:46
  • 9746

Caffe模型移植到MXNet

使用caffe的一大好处是有很多的预训练模型,你可以从caffe的model zoo去下载这些模型。那么怎样把caffe的模型转到MXNet中呢?一种最简单也是最有效的方法就是把caffe的模型加载出...
  • tinyzhao
  • tinyzhao
  • 2016年12月10日 16:26
  • 3171

Mxnet学习系列4----Caffe模型转换成Mxnet模型

这已经是Mxnet学习系列的第五篇了,感谢大家的支持!本篇博客主要讲一下在Caffe环境下搭建和训练好的模型怎样转换到Mxnet下使用。我觉得这一点是十分重要的: 首先,这样做节省了我们很多时间和精...
  • Sunshine_in_Moon
  • Sunshine_in_Moon
  • 2016年11月06日 16:06
  • 2692

MxNet系列——get_started——setup

综述你可以在Amazon Linux, Ubuntu/Debian, OS X, 和 Windows等操作系统上运行MXNet。MXNet 也可以在 Docker 和类似于AWS的云上运行。MXNet...
  • xuezhisdc
  • xuezhisdc
  • 2017年02月09日 11:27
  • 1041

MxNet系列——get_started——amazonlinux_setup

Installing MXNet on Ubuntu对于 Amazon Linux 操作系统上的Python用户来说,MXNet 提供了一系列的 Git Bash 脚本,来安装MXNet的依赖和MXN...
  • xuezhisdc
  • xuezhisdc
  • 2017年02月09日 11:26
  • 403

MxNet系列——get_started——ubuntu_setup

Installing MXNet on UbuntuMXNet现在支持的语言包括:Python, R, Julia 和 Scala等。 对于Ubuntu操作系统上的Python和R用户来说,MXNet...
  • xuezhisdc
  • xuezhisdc
  • 2017年02月08日 15:59
  • 466

MxNet系列——get_started——osx_setup

OS X 上安装 MXNet安装MXNet可以分为2步: 从MXNet的C++源代码构建共享库。 安装MXNet的特定语言的包(接口)。 注意: 修改 make/config.mk 文件可以改变编译选...
  • xuezhisdc
  • xuezhisdc
  • 2017年02月09日 11:25
  • 570

MXNet官方文档教程(1):扬帆起航(Get Started)

最近准备学习MXNet,发现官方文档的中文支持还不完整,便打算一边学习一边将文档翻译过来,以方便日后复习和之后的学习者。本文是官方文档的第一步“Get Started”,原文档链接:MXNet:Get...
  • Catalyst_ZX
  • Catalyst_ZX
  • 2016年11月17日 18:40
  • 9944

Get started with Docker 中文文档(3)—— Part 3: Services

先决条件 安装Docker 1.13或更高版本。 阅读第1部分的方向。 了解如何在第2部分中创建容器。 确保已按照指示将您创建的容器推送到注册表; 我们将在这里使用它。 通过运行此操作并访问http:...
  • HeatDeath
  • HeatDeath
  • 2017年04月22日 16:18
  • 374

Get Started——开发前的注意事项

开始开发Android app所需要的任何东西都可以在[developer.android.com]找到。我们可以在API文档(Develop)和设计向导(Design)中找到一切关于当前设备的信息,...
  • beifucangqiong
  • beifucangqiong
  • 2015年07月12日 11:17
  • 204
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MxNet系列——get_started——windows_setup
举报原因:
原因补充:

(最多只允许输入30个字)