MxNet系列——get_started——ubuntu_setup

2023-05-16

博客新址: http://blog.xuezhisd.top
邮箱:xuezhisd@126.com


Installing MXNet on Ubuntu

MXNet现在支持的语言包括:Python, R, Julia 和 Scala等。 对于Ubuntu操作系统上的Python和R用户来说,MXNet 提供了一系列的 Git Bash 脚本,来安装MXNet的依赖和MXNet库。

如果操作系统的版本高于Ubuntu 12,安装脚本会配置MXNet的Python接口和R语言接口。该脚本将MXNet安装在 ~/mxnet目录下。

快速安装

安装MXNet的Python接口

使用 git,克隆MXNet的源代码仓库。

# 如果没有Git,先安装Git
sudo apt-get update
sudo apt-get -y install git

克隆MXNet的源代码仓库到本地,运行安装脚本,更新环境变量。除了安装 MXNet外,脚本还会安装 MXNet 的所有依赖包: Numpy, LibBLASOpenCV
整个安装过程大概5分钟左右。

# 克隆MXNet的源代码仓库
git clone https://github.com/dmlc/mxnet.git ~/mxnet --recursive

# 安装MXNet的Python接口和所有依赖包
cd ~/mxnet/setup-utils
bash install-mxnet-ubuntu-python.sh

# 脚本已经将MXNet的Python包所在的路径添加到当前用户的 ~/.bashrc
# 运行下面的命令,更新环境变量
$ source ~/.bashrc

点此 查看安装MXNet的Python接口的安装脚本。

安装MXNet的R语言接口

执行下面的命令,安装MXNet的R语言接口:

cd ~/mxnet/setup-utils
bash install-mxnet-ubuntu-r.sh

点此 查看安装MXNet的R语言接口的安装脚本。

标准安装

安装MXNet可以分为2步:

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

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

构建共享库

在版本高于Ubuntu 13.10 的Ubuntu上,你需要下面的依赖:

  • Git (用于从GitHub下载代码)

  • libatlas-base-dev (用于线性代数)

  • libopencv-dev (用于计算机视觉操作)

使用下面的命令,安装上面这些依赖:

sudo apt-get update
sudo apt-get install -y build-essential git libatlas-base-dev libopencv-dev

下载并安装完这些依赖之后,使用下面的命令从GitHub下载MXNet源代码,并构建MXNet:

git clone --recursive https://github.com/dmlc/mxnet
cd mxnet; make -j$(nproc)

执行这些命令之后,创建一个动态库,它的名字是 libmxnet.so

下面安装 graphviz库,它用于可视化神经网络。我们也将安装 Jupyter Notebook,它用于运行MXNet教程和例程。

sudo apt-get install -y python-pip
sudo pip install graphviz
sudo pip install Jupyter

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

  • R
  • Julia
  • Scala

安装MXNet的R语言接口

执行下面的命令,安装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接口的方法有有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

注意: 我们非常欢迎你贡献适用于其它操作系统和编程语言的简易安装脚本。查看 社区页面 获取贡献者指南。

下一步

  • 教程
  • 如何办系列
  • 架构
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MxNet系列——get_started——ubuntu_setup 的相关文章

随机推荐

  • 修改antlr错误信息输出格式的方法

    找到 antlr DefaultFileLineFormatter java 修改类DefaultFileLineFormatter的函数getFormatString 我将其修改如下 以适应vc的错误信息输出格式 package antl
  • MxNet系列——how_to——torch

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何将MXNet用作Torch的前后端 本章节描述了如何将MXNet用作Torch的两个主要功能 xff08 前端和后端 xf
  • MxNet系列——how_to——smart_device

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 将深度学习库压缩成一个文件 xff0c 以便移植到智能设备中 深度学习系统是复杂的 xff0c 并且常常有些依赖环境 将深度学
  • MxNet系列——how_to——new_op

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何创建新的操作符 网络层 本节内容描述了创建新的MXNet操作符 xff08 或网络 xff09 的过程 我们已经尽了最大努
  • MxNet系列——how_to——multi_devices

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 在多个CPU GPUs上以数据并行方式运行MXNet MXNet 支持在多个CPUs和GPUs上进行训练 其中 xff0c 这
  • MxNet系列——how_to——model_parallel_lstm

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 使用模型并行的方式在多个GPUs上训练LSTM 由于复杂的数据依赖 xff0c LSTM评价很困难 LSTM的训练过程 xff
  • MxNet系列——how_to——index

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com MXNet 怎么办系列 How tos 提供了一系列的有关安装 xff0c 基本概念 xff0c 说明 xff0c 命令和使用
  • MxNet系列——how_to——faq

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 常见问题 本节回答了 mxnet issues上的常见问题 在提问前 xff0c 请先检查该页面 如果你想要贡献本页面 xff
  • MxNet系列——how_to——env_var

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 环境变量 环境可以修改MXNet的一些设置 一般情况下 xff0c 你不需要修改这些设置 本节将它们罗列出来 xff0c 用于
  • MxNet系列——how_to——develop_and_hack

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 开发和 Hack MXNet 创建新的操作符在MXNet中使用Torch设置MXNet的环境变量 其它资源 概述 MXNet的
  • MxNet系列——how_to——cloud

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 在云上配置MXNet 从头开始设置一个AWS的GPU集群 本节提供了如何设置AWS集群以使用MXNet的详细教程 描述了如何
  • windows下使用qt编程的一些问题

    我下载了windows下qt的几个版本 qt win free 3 3 1 qt win free msvc 3 3 1还有一个qt3 0 5msvc的eval版 那个eval的版本expired了 但是只有这个版本向vc的addin目录中
  • linux创建ftp用户且限制访问目录

    1 使用root用户登录服务器 2 添加用户test xff0c 并设置路径 useradd d data sftp test test 3 为test用户设置密码 passwd test 4 查看passwd文件中是否存在test x 1
  • MxNet系列——how_to——caffe

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何在MXNet中使用Caffe操作符 Caffe 是一个有名的 xff0c 广泛使用的深度学习框架 MXNet 支持在它的符
  • MxNet系列——how_to——bucketing

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 在MXNet中使用Bucketing Bucketing是一种训练多个不同但又相似的结构的网络 xff0c 这些网络共享相同的
  • MxNet系列——model_zoo——index

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com MXNet的模型园地 MXNet 突出了学术论文中报告的最先进模型的快速实现 我们的模型园地 xff08 Modle Zoo
  • MxNet系列——get_started——index

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com MXNet 一个大规模的深度学习框架 MXNet 是一个开源框架 xff0c 它允许你在多种设备 xff08 从云架构到移动设
  • MxNet系列——get_started——overview_zh

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 下面是MXNet的综述 xff08 中文版 xff09 xff0c 英文读者请阅读 NIPS LearningSys pape
  • MxNet系列——get_started——windows_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Windows上安装 MXNet 在Windows上 xff0c 你可以直接下载和安装已经编译过的MXNet工具包 xff0c
  • MxNet系列——get_started——ubuntu_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Installing MXNet on Ubuntu MXNet现在支持的语言包括 xff1a Python R Julia