MxNet系列——get_started——index
来源:互联网 发布:湖北金融数据网 编辑:程序博客网 时间:2024/05/01 12:26
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的更多内容,请参考以下内容:
- 使用MXNet的前提条件
- 安装MXNet的详细教程
- 常见的安装问题
入门 | 张量计算
下面,学习以下张量计算接口。张量计算接口通常比符号接口更加灵活,常用于实现网络层,定义权重更新规则,和调试。
Julia
julia> using MXNetjulia> 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
:
“`python
import mxnet as mx
a = mx.nd.ones((2, 3), mx.gpu())
print ((a * 2).asnumpy())
[[ 2. 2. 2.]
[ 2. 2. 2.]]
“`
R
“`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
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@f5e74790scala> arr.shaperes0: ml.dmlc.mxnet.Shape = (2,3)scala> (arr * 2).toArrayres2: Array[Float] = Array(2.0, 2.0, 2.0, 2.0, 2.0, 2.0)scala> (arr * 2).shaperes3: ml.dmlc.mxnet.Shape = (2,3)
“`
推荐的入门教程
- 使用卷积神经网络进行手写字符识别 (菜鸟)
- 使用LSTMs的字符级别的语言模型 (高手)
下一步
- 配置和安装
- 教程
- 如何办系列
- 架构
- 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——osx_setup
- MxNet系列——get_started——amazonlinux_setup
- MxNet系列——get_started——setup
- MxNet系列——how_to——index
- MxNet系列——model_zoo——index
- MxNet系列——community——index
- MxNet系列——Windows上安装MxNet
- MxNet系列——Windows上安装MxNet
- MxNet系列——how_to——perf
- MxNet系列——how_to——visualize_graph
- MxNet系列——how_to——torch
- MxNet系列——how_to——smart_device
- 给原生的 UIImageView 添加类别来支持 GIF 播放
- 常用单端到差分转换电路
- hibernate hql 多表关联一个小细节
- Meterpreter使用总结(2)之后渗透攻击模块
- 国内外高质量的Java社区
- MxNet系列——get_started——index
- 进制转换
- 杭电2024题,用到了scanf与gets
- Ruby on Rails学习笔记(1)--关于gem以及版本
- DP紫书汇总
- 卷积神经网络中 每个卷积核与上一层的连接详解
- MYSQL:看书笔记
- 【人工智能】机器学习的方法总结
- 设计模式六大原则(3):依赖倒置原则