MxNet
MXNet是一个深度学习工具,兼具高效性和灵活性。它支持混合符号式编程和命令式编程,以最大化执行效率和开发效率。
xuezhisdc
......
展开
-
MxNet系列——Windows上安装MxNet
开发环境操作系统:Win7 64bitC++编译器:Visual Studio 2010Python环境:Python 2.7.12 (Anaconda 4.1)安装过程下载MxNet预编译版本。下载页面。请根据操作系统和是否使用GPU下载合适的版本。我下载的版本是20160531_win10_x64_cpu.7z。如下图所示: 解压下载文件到指定目录下。如我将其解压到C:\Dev\MxN原创 2016-12-22 20:46:27 · 16496 阅读 · 3 评论 -
MxNet系列——how_to——perf
性能下面是一些技巧,以尽可能的获取MXNet的最佳性能。数据对于输入数据,需要注意以下内容:数据格式。尽量使用 rec 格式。解码。MXNet默认使用4个线程对图像进行解码。这对于每秒钟解码1000张图像来说,已经足够了。但如果你的CPU性能很差,或你的GPU性能很高,你可以增加线程数。存储位置。任何的本地或分布式文件系统(HDFS, Amazon S3)都可以。但当多个设备同时从网络文件系统原创 2017-02-08 15:33:59 · 597 阅读 · 0 评论 -
MxNet系列——how_to——torch
如何将MXNet用作Torch的前后端本章节描述了如何将MXNet用作Torch的两个主要功能(前端和后端):使用MXNet.NDArray来调用Torch的张量数学函数。 将Torch的神经网络模块(层)嵌入到MXNet的符号图中。编译支持Torch的MXNet参照 官方教程 来安装Torch 如果还没有安装Torch,将配置文件 make/config.mk (Linux) 或 mak原创 2017-02-08 15:36:00 · 1216 阅读 · 0 评论 -
MxNet系列——how_to——smart_device
将深度学习库压缩成一个文件,以便移植到智能设备中深度学习系统是复杂的,并且常常有些依赖环境。将深度学习库移植到不同的平台上,尤其是智能设备上,是一件十分痛苦的事情。 一个简单的方法是:提供一个轻量级的接口,并以最小依赖将所有需要的代码放到一个文件中。 本章节,我们描述了如何将MXNet源码合并到一个文件中,并在移动设备上演示图像分类。 合并:将整个深度学习系统压缩成一个文件合并的想法源自SQLite原创 2017-02-08 15:37:48 · 1054 阅读 · 0 评论 -
MxNet系列——how_to——new_op
如何创建新的操作符(网络层)本节内容描述了创建新的MXNet操作符(或网络)的过程。我们已经尽了最大努力为最常用的案例提供高性能操作符。然而,如果你需要自定义一个网络层,比如新的损失函数,有两个选择:借助前端语言(比如,Python),使用 CustomOp 来写新的操作符。既可以运行在CPU上,也可以运行在GPU上。根据你的实现情况,性能可能很高,也可能很低。使用 C++/mshadow (C原创 2017-02-08 15:38:57 · 4053 阅读 · 1 评论 -
MxNet系列——how_to——multi_devices
在多个CPU/GPUs上以数据并行方式运行MXNetMXNet 支持在多个CPUs和GPUs上进行训练。其中,这些CPUs和GPUs可能位于不同的物理机上。 数据并行 vs 模型并行MXNet模式使用数据并行的方式将工作负载划分到多个设备上。假如有 n 个设备,每一个设备都将获得完整的模型,并使用 1/n 的数据进行训练。结果(比如,梯度)和更新后的模型在不同设备之间进行通信。MXNet也支持模型并原创 2017-02-08 15:40:25 · 6813 阅读 · 2 评论 -
MxNet系列——how_to——model_parallel_lstm
使用模型并行的方式在多个GPUs上训练LSTM由于复杂的数据依赖,LSTM评价很困难。LSTM的训练过程,在反向传播阶段有更严重的逆序的数据依赖,更加难以并行化。获取有关LSTM更通用信息,请查看优秀的 简介 (作者:Christopher)有关使用模型并行的方式在多个GPUs上训练LSTM的资料,请查看 example/model-parallelism-lstm/。模型并行:将多个GPUs作为流原创 2017-02-08 15:41:04 · 2966 阅读 · 0 评论 -
MxNet系列——how_to——index
MXNet 怎么办系列How-tos 提供了一系列的有关安装,基本概念,说明,命令和使用预训练模型完成的例程指南。下面的主题解释了基本概念,并为特定任务提供了步骤。其中一些包含了使用预训练模型完成的例程。配置和安装你可以在 Amazon Linux, Ubuntu/Debian, OS X, 和 Windows操作系统上运行MXNet。MXNet也可以在Docker和类似于AWS的云上运行。MXNe原创 2017-02-08 15:46:02 · 750 阅读 · 0 评论 -
MxNet系列——how_to——faq
常见问题本节回答了 mxnet/issues上的常见问题。在提问前,请先检查该页面。如果你想要贡献本页面,请尽量使问题和答案简单。如果你的回答非常详细,请发布在其它地方并提供链接。构建和安装关于构建和安装的问题,绝大多数问题的答案都可以在 build page 上找到。速度在GPU上启动花费很长时间尝试禁止OpenCV使用GPU: build opencv from source with GPU原创 2017-02-08 15:46:55 · 2588 阅读 · 0 评论 -
MxNet系列——how_to——env_var
环境变量=====================环境可以修改MXNet的一些设置。一般情况下,你不需要修改这些设置。本节将它们罗列出来,用于参考。设置线程数目MXNET_GPU_WORKER_NTHREADS (默认值=2) 每个GPU上,进行计算的最大线程数MXNET_GPU_COPY_NTHREADS (默认值=1) 每个GPU上,内存复制的最大线程数MXNET_CPU_WORKER原创 2017-02-08 15:48:52 · 4602 阅读 · 0 评论 -
MxNet系列——how_to——develop_and_hack
开发和 Hack MXNet创建新的操作符在MXNet中使用Torch设置MXNet的环境变量其它资源概述 MXNet的系统架构贡献者指南原创 2017-02-08 15:51:06 · 478 阅读 · 0 评论 -
MxNet系列——how_to——cloud
在云上配置MXNet从头开始设置一个AWS的GPU集群本节提供了如何设置AWS集群以使用MXNet的详细教程。描述了如何:Use Amazon S3 to host dataSet up an EC2 GPU instance with all dependencies installedBuild and run MXNet on a single computerSet up an EC原创 2017-02-08 15:51:50 · 1226 阅读 · 0 评论 -
MxNet系列——how_to——caffe
如何在MXNet中使用Caffe操作符Caffe 是一个有名的,广泛使用的深度学习框架。MXNet 支持在它的符号图中,直接调用大部分Caffe操作符(网络层)和损失函数。使用自定义的Caffe网络层也很容易。MXNet 也嵌入了Torch模块和它的张量数学函数。本节内容描述了如何:安装支持Caffe的MXNet将Caffe操作符嵌入到MXNet的符号图中安装支持Caffe的MXNet下载官原创 2017-02-08 15:52:26 · 1309 阅读 · 0 评论 -
MxNet系列——how_to——bucketing
在MXNet中使用BucketingBucketing是一种训练多个不同但又相似的结构的网络,这些网络共享相同的参数集。一个典型的应用是循环神经网络(RNNs)。在使用符号网络定义的工具箱中,实现RNNs通常会沿时间轴将网络显式地展开。显式地展开RNNs之前需要知道序列的长度。为了处理序列中的所有元素,我们需要将网络展开成最大可能的序列长度。然而这很浪费资源,因为对于较短的序列,大部分计算都是在填充原创 2017-02-08 15:52:59 · 1801 阅读 · 0 评论 -
MxNet系列——model_zoo——index
MXNet的模型园地MXNet 突出了学术论文中报告的最先进模型的快速实现。我们的模型园地(Modle Zoo)包含了完整的模型,Python脚本,预训练的权重和如何进行微调的说明文档。如何贡献一个预训练的模型 (应包含什么)提交一个包含下列内容的 Pull 请求: * Gist 日志 * .json 格式的模型定义文件 * 模型参数文件 * Readme 文件 (细节见下面)Readme原创 2017-02-08 15:55:44 · 4137 阅读 · 0 评论 -
MxNet系列——get_started——index
MXNet: 一个大规模的深度学习框架MXNet 是一个开源框架,它允许你在多种设备(从云架构到移动设备)上定义,训练和部署深度神经网络。MXNet 是一个可拓展的深度学习工具,它允许快速训练模型,支持灵活的编程模型和多种编程语言。 MXNet 允许混合使用命令式编程和符号编程,以最大化两者的高效性和生产力。MXNet 是在一个动态依赖调度器上构建的【dynamic dependency sched原创 2017-02-08 15:57:32 · 707 阅读 · 0 评论 -
MxNet系列——get_started——overview_zh
下面是MXNet的综述(中文版),英文读者请阅读 NIPS LearningSys paperMXNet设计和实现简介神经网络本质上是一种语言,我们通过它来表达对应用问题的理解。例如我们用卷积层来表达空间相关性,RNN来表达时间连续性。根据问题的复杂性和信息如何从输入到输出一步步提取,我们将不同大小的层按一定原则连接起来。近年来随着数据的激增和计算能力的大幅提升,神经网络也变得越来越深和大。例如最近原创 2017-02-08 15:58:26 · 928 阅读 · 0 评论 -
MxNet系列——get_started——windows_setup
Windows上安装 MXNet在Windows上,你可以直接下载和安装已经编译过的MXNet工具包,或者自行下载,构建,安装MXNet。构建MXNet共享库(动态链接库)两种方法:既可以直接下载并使用已预编译过的二进制包,也可以从源代码自行构建MXNet共享库 - libmxnet.dll。Windows上安装已编译的MXNet工具包。MXNet 为Windows用户提供了已编译的MXNet工具包原创 2017-02-08 15:58:58 · 1683 阅读 · 0 评论 -
MxNet系列——get_started——ubuntu_setup
Installing MXNet on UbuntuMXNet现在支持的语言包括:Python, R, Julia 和 Scala等。 对于Ubuntu操作系统上的Python和R用户来说,MXNet 提供了一系列的 Git Bash 脚本,来安装MXNet的依赖和MXNet库。如果操作系统的版本高于Ubuntu 12,安装脚本会配置MXNet的Python接口和R语言接口。该脚本将MXNet安装在原创 2017-02-08 15:59:57 · 919 阅读 · 0 评论 -
MxNet系列——get_started——docker_setup
在Docker上运行MXNetDocker 是一个系统,它允许你构建一个自包含的Linux操作系统,该操作系统可以在你的计算机上孤立的运行。 在自包含的Linux系统中,你可以运行MXNet和其它软件包,而这些软件不会与你的计算机上的包相互作用。MXNet 提供了2个运行MXNet的 Docker 镜像:MXNet Docker (CPU版本) - https://hub.docker.com/r原创 2017-02-09 11:24:44 · 1263 阅读 · 0 评论 -
MxNet系列——get_started——cloud_setup
云上安装MXNet你可以在类似于AWS的云上使用预编译的MXNet。更多细节,请阅读下面的引文。使用 Amazon Machine Images(AMIs) 安装 MXNet下面的链接指向AWS blog,描述了如何配置一个 Amazon Machine Image(AMI)。AMI 支持 MXNet 和其它主流的机器学习框架。 * P2 and Deep Learning Blog * Dee原创 2017-02-09 11:25:14 · 719 阅读 · 0 评论 -
MxNet系列——get_started——osx_setup
OS X 上安装 MXNet安装MXNet可以分为2步:从MXNet的C++源代码构建共享库。安装MXNet的特定语言的包(接口)。注意: 修改 make/config.mk 文件可以改变编译选项,使用命令 make 来进行构建。构建共享库使用下面的命令,安装MXNet的依赖库:Homebrew (用于安装依赖库)# 将这个命令复制到Mac控制台中,以安装 Homebrew/usr/bi原创 2017-02-09 11:25:52 · 1373 阅读 · 0 评论 -
MxNet系列——get_started——amazonlinux_setup
Installing MXNet on Ubuntu对于 Amazon Linux 操作系统上的Python用户来说,MXNet 提供了一系列的 Git Bash 脚本,来安装MXNet的依赖和MXNet库。安装脚本会在 Amazon Linux 操作系统上配置MXNet的Python接口。该脚本将MXNet安装在 ~/mxnet目录下。快速安装安装MXNet的Python接口使用 git,克隆MX原创 2017-02-09 11:26:15 · 898 阅读 · 0 评论 -
MxNet系列——get_started——setup
综述你可以在Amazon Linux, Ubuntu/Debian, OS X, 和 Windows等操作系统上运行MXNet。MXNet 也可以在 Docker 和类似于AWS的云上运行。MXNet现在支持的语言包括:Python, R, Julia 和 Scala等。配置MXNet的详细指南:使用 Docker 安装 MXNet云 (AWS AMI) 上安装MXNetUbuntu 上安装原创 2017-02-09 11:27:22 · 1720 阅读 · 0 评论 -
MxNet系列——community——contribute
对MXNet做贡献MXNet是由一群活跃的社区成员开发和使用的。请对其贡献,以改善它。 当你的补丁被合并时,别忘记将你的名字提交到 CONTRIBUTORS.md.Guidelines提交Pull请求解决与Master的冲突问题组合多个提交强制推送的结果是什么?文档测试用例例程核心库Python库R包提交Pull请求在提交你的贡献前,在最新版的master上,git reb原创 2017-02-09 11:30:20 · 1069 阅读 · 0 评论 -
MxNet系列——community——index
MXNet 社区有关使用MXNet的问题如果你在做某事时,不确定如何使用MXNet;或者将其应用到一个特定的问题时有疑问,请将问题发布在 Stackoverflow,并加上标签 - mxnet。你可以在此查看有关MXNet的问题。问题跟踪器我们在MXNet的GitHub仓库中的issues文件夹:mxnet/issues,跟踪Bug和新特性的请求。贡献者MXNet是由一群活跃的社区成员开发和使用的。原创 2017-02-09 11:30:45 · 1069 阅读 · 0 评论