MxNet系列——get_started——osx_setup
来源:互联网 发布:centos查看ssh端口 编辑:程序博客网 时间:2024/05/22 00:48
OS X 上安装 MXNet
安装MXNet可以分为2步:
- 从MXNet的C++源代码构建共享库。
- 安装MXNet的特定语言的包(接口)。
注意: 修改 make/config.mk
文件可以改变编译选项,使用命令 make
来进行构建。
构建共享库
使用下面的命令,安装MXNet的依赖库:
- Homebrew (用于安装依赖库)
# 将这个命令复制到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 updatebrew install pkg-configbrew install graphviz brew install openblasbrew tap homebrew/sciencebrew install opencv# For getting pipbrew install python#用于可视化神经网络pip install graphviz# Jupyter notebookpip 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/mxnetcd mxnetcp make/osx.mk ./config.mkecho "USE_BLAS = openblas" >> ./config.mkecho "ADD_CFLAGS += -I/usr/local/opt/openblas/include" >> ./config.mkecho "ADD_LDFLAGS += -L/usr/local/opt/openblas/lib" >> ./config.mkecho "ADD_LDFLAGS += -L/usr/local/lib/graphviz/" >> ./config.mkmake -j$(sysctl -n hw.ncpu)
注意: 如果想修改构建参数,需要编辑 config.mk
。
选项 2
使用 cmake
命令,从MXNet源代码生成一个 Xcode 项目。然后,使用集成开发环境 Xcode 构建MXNet。
mkdir build; cd buildcmake -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项目:
- Link-Time Optimization = Yes
- Optimisation Level = Fastest[-O3]
两种方法都会生成一个共享库:libmxnet.so
。
我们已经安装了MXNet的核心库。接下来,我们将会为你选择的编程语言安装MXNet接口包:
- Python
- R
- Julia
- Scala
安装MXNet的Python接口
安装MXNet的Python接口需要下面的依赖:
- Python (> 2.7)
- NumPy (用于科学计算操作)
执行下面的命令安装Python(需要检查是否已经安装)和Numpy。
# 检查是否已经安装了Pythonpython --version # 查看版本# 如果没有安装,执行下面的命令进行安装brew install python# 安装 Numpybrew install numpy
安装MXNet的Python接口。 MXNet的Python接口的位置 MXNet on GitHub。
# 假定当前工作目录是MXNet源代码的根目录cd pythonsudo 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
下一步
- 教程
- 如何办系列
- 架构
- MxNet系列——get_started——osx_setup
- MxNet系列——get_started——index
- MxNet系列——get_started——overview_zh
- MxNet系列——get_started——windows_setup
- MxNet系列——get_started——ubuntu_setup
- MxNet系列——get_started——docker_setup
- MxNet系列——get_started——cloud_setup
- MxNet系列——get_started——amazonlinux_setup
- MxNet系列——get_started——setup
- MxNet系列——Windows上安装MxNet
- MxNet系列——Windows上安装MxNet
- MxNet系列——how_to——perf
- MxNet系列——how_to——visualize_graph
- MxNet系列——how_to——torch
- MxNet系列——how_to——smart_device
- MxNet系列——how_to——new_op
- MxNet系列——how_to——multi_devices
- MxNet系列——how_to——model_parallel_lstm
- 如何在ZBrush中用多边形组工作
- MxNet系列——get_started——cloud_setup
- unity3d 基础学习一
- .NET常用缩写
- 笔记:i++和++i
- MxNet系列——get_started——osx_setup
- 该出手时就出手
- packer-ng-plugin(快速打包神器)初略使用
- 前端如何接收 websocket 发送过来的实时数据
- 春招攻略
- 查找四位数的吸血鬼数字(java编程思想)
- 关于ScrollView02
- python 关于MySQL-python或者MySQLdb安装的几次报错的经验总结
- 怎样使用PDF阅读器浏览查看PDF文档