MxNet系列——get_started——osx_setup

翻译 2017年02月09日 11:25:52

OS X 上安装 MXNet

安装MXNet可以分为2步:

  1. 从MXNet的C++源代码构建共享库。
  2. 安装MXNet的特定语言的包(接口)。

注意: 修改 make/config.mk 文件可以改变编译选项,使用命令 make 来进行构建。

构建共享库

使用下面的命令,安装MXNet的依赖库:

# 将这个命令复制到Mac控制台中,以安装 Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# 将Homebrew目录放在环境变量PATH的最前面
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
  • openblas 和 homebrew/science (用于线性代数操作)
  • OpenCV (用于计算机视觉操作)
brew update
brew install pkg-config
brew install graphviz 
brew install openblas
brew tap homebrew/science
brew install opencv
# For getting pip
brew install python
#用于可视化神经网络
pip install graphviz
# Jupyter notebook
pip install jupyter

安装完上面的依赖之后,从下面的2个选项中选择一个。从GitHub下载MXNet源码,并构建MXNet。两种方法都会生成一个共享库:libmxnet.so

选项 1 使用下面的命令下载MXNet源代码,并编译。文件 osx.mk 包含了在 OS X 构建MXNet所需的配置。首先,将 make/osx.mk 内容复制到 config.mk,然后 make 使用 config.mk 进行编译:

git clone --recursive https://github.com/dmlc/mxnet
cd mxnet
cp make/osx.mk ./config.mk
echo "USE_BLAS = openblas" >> ./config.mk
echo "ADD_CFLAGS += -I/usr/local/opt/openblas/include" >> ./config.mk
echo "ADD_LDFLAGS += -L/usr/local/opt/openblas/lib" >> ./config.mk
echo "ADD_LDFLAGS += -L/usr/local/lib/graphviz/" >> ./config.mk
make -j$(sysctl -n hw.ncpu)

注意: 如果想修改构建参数,需要编辑 config.mk

选项 2
使用 cmake 命令,从MXNet源代码生成一个 Xcode 项目。然后,使用集成开发环境 Xcode 构建MXNet。

mkdir build; cd build

cmake -G Xcode -DCMAKE_BUILD_TYPE=Release -DCMAKE_CONFIGURATION_TYPES="Release" -DUSE_OPENMP="OFF" -DUSE_CUDNN="OFF" -DUSE_CUDA="OFF" -DBLAS=MKL ..

执行 cmake 命令之后,使用 Xcode 打开项目文件 mxnet.xcodeproj。设置下面的构建标识,并构建MXNet项目:

  1. Link-Time Optimization = Yes
  2. Optimisation Level = Fastest[-O3]

两种方法都会生成一个共享库:libmxnet.so

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

安装MXNet的Python接口

安装MXNet的Python接口需要下面的依赖:

  • Python (> 2.7)
  • NumPy (用于科学计算操作)

执行下面的命令安装Python(需要检查是否已经安装)和Numpy。

# 检查是否已经安装了Python
python --version # 查看版本
# 如果没有安装,执行下面的命令进行安装
brew install python
# 安装 Numpy
brew install numpy

安装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库

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

对于 OS X (Mac) 用户,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

安装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库之前,你必须完成 第一步,构建共享库。之后,在MXNet根目录中,运行下面的命令来构建MXNet的Scala库:

make scalapkg

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

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

make scalainstall

下一步

Win10下MxNet安装手记

依赖软件环境 Python2.7 64位版(mxnet也必须为64位版,由于系统bug,mxnet只能在Win10下运行) 转换caffemodel到mxnet所需的工具 ...
  • hollyholly5
  • hollyholly5
  • 2016年07月08日 11:34
  • 1774

MxNet系列——how_to——env_var

环境变量=====================环境可以修改MXNet的一些设置。一般情况下,你不需要修改这些设置。本节将它们罗列出来,用于参考。设置线程数目 MXNET_GPU_WORKER_NT...
  • xuezhisdc
  • xuezhisdc
  • 2017年02月08日 15:48
  • 1172

MxNet系列——how_to——new_op

如何创建新的操作符(网络层)本节内容描述了创建新的MXNet操作符(或网络)的过程。我们已经尽了最大努力为最常用的案例提供高性能操作符。然而,如果你需要自定义一个网络层,比如新的损失函数,有两个选择:...
  • xuezhisdc
  • xuezhisdc
  • 2017年02月08日 15:38
  • 1234

MxNet系列——get_started——windows_setup

Windows上安装 MXNet在Windows上,你可以直接下载和安装已经编译过的MXNet工具包,或者自行下载,构建,安装MXNet。构建MXNet共享库(动态链接库)两种方法:既可以直接下载并使...
  • xuezhisdc
  • xuezhisdc
  • 2017年02月08日 15:58
  • 830

MxNet系列——get_started——setup

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

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
  • 464

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

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

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

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

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

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

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