MxNet系列——get_started——index

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


MXNet: 一个大规模的深度学习框架

MXNet 是一个开源框架,它允许你在多种设备(从云架构到移动设备)上定义,训练和部署深度神经网络。MXNet 是一个可拓展的深度学习工具,它允许快速训练模型,支持灵活的编程模型和多种编程语言。 MXNet 允许混合使用命令式编程和符号编程,以最大化两者的高效性和生产力。MXNet 是在一个动态依赖调度器上构建的【dynamic dependency scheduler that automatically parallelizes both symbolic and imperative operations on the fly】。最后的图优化层使得符号运算既高速,又使得内存利用率高。MXNet 是一个便携的,轻便的深度学习工具,可以拓展到多GPUs和多台机器上。

  • 灵活的编程模型
    MXNet 同时支持命令式编程和符号编程,最大化性能和生成力。

  • 从云端到客户端便携
    MXNet 可以运行在CPUs,GPUs,集群,服务器,桌面和移动设备上。

  • 支持多种编程语言
    MXNet 支持使用 Python, R, Scala, Julia, 和 C++ 构建和训练模型。已经训练好的模型可以在更多种编程语言(比如Matlab和JavaScript)中用于预测任务。

  • 本地分布式训练
    MXNet 支持在多CPU/GPU机器上进行分布式训练,以有效利用云计算。

  • 性能优化
    使用一个优化的 C++ 后端引擎,让I/O和计算都并行化。无论使用哪种编程语言,都能最优地运行。

MXNet 开源社区

  • 支持多种模型 – 训练和部署最新的深度卷积神经网络 (CNNs) 和 长短时记忆网络 (LSTMs)。

  • 参考例子库 – 构建了简单的教程(附代码),比如,图像分类,语言模型,神经艺术,语音识别等。

  • 开放协作的社区 – 来自顶尖大学和工业界伙伴的支持和贡献。

配置和安装

你可以在Amazon Linux, Ubuntu/Debian, OS X, 和 Windows等操作系统上运行MXNet。MXNet 也可以在 Docker 和类似于AWS的云上运行。MXNet现在支持的语言包括:Python, R, Julia 和 Scala等。

如果你是在Amazon Linux 或 Ubuntu 上运行 Python/R,你可以通过使用 Git Bash 脚本来快速安装MXNet工具包及其相关依赖。

有关配置MXNet的更多内容,请参考以下内容:

入门 | 张量计算

下面,学习以下张量计算接口。张量计算接口通常比符号接口更加灵活,常用于实现网络层,定义权重更新规则,和调试。

Julia

julia> using MXNet

julia> a = mx.ones((2,3), mx.gpu())
mx.NDArray{Float32}(2,3)

julia> Array{Float32}(a * 2)
2×3 Array{Float32,2}:
 2.0  2.0  2.0
 2.0  2.0  2.0

Python

Python接口类似于 numpy.NDArray:

   >>> import mxnet as mx
   >>> a = mx.nd.ones((2, 3), mx.gpu())
   >>> print ((a * 2).asnumpy())
   [[ 2.  2.  2.]
    [ 2.  2.  2.]]

R

   > require(mxnet)
   Loading required package: mxnet
   > a <- mx.nd.ones(c(2,3))
   > a
        [,1] [,2] [,3]
   [1,]    1    1    1
   [2,]    1    1    1
   > a + 1
        [,1] [,2] [,3]
   [1,]    2    2    2
   [2,]    2    2    2

Scala

你可以在纯Scala语言中,执行张量和矩阵计算:

   scala> import ml.dmlc.mxnet._
   import ml.dmlc.mxnet._

   scala> val arr = NDArray.ones(2, 3)
   arr: ml.dmlc.mxnet.NDArray = ml.dmlc.mxnet.NDArray@f5e74790

   scala> arr.shape
   res0: ml.dmlc.mxnet.Shape = (2,3)

   scala> (arr * 2).toArray
   res2: Array[Float] = Array(2.0, 2.0, 2.0, 2.0, 2.0, 2.0)

   scala> (arr * 2).shape
   res3: ml.dmlc.mxnet.Shape = (2,3)

推荐的入门教程

下一步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值