- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Symbol声明式的符号表达式NDArray
MXNet介绍 金海辰 S什么是MXNet MXNet是一个开源的深度学习框架。它可以使你能自行定义、训练、配置和部署深度人工神经网络,并且适用于从云端到移动端诸多不同的设备上。可快速模型训练、灵活支持各种编程模型和语言使得MXNet具有高度的可扩展性。 什么是MXNet 同时,它还允许混合使用命令式与符号式编程以最大化程序的效率和性能。MXNet建立了在运行时可以自动并行命令式与符号式操作符的动态依赖调度机制,运行在其上的图优化层使得符号的执行快速且节省存储空间。MXNet库轻量便携,并且可以扩展为多GPU或多机器模式。 MXNet的优点 灵活的编程模型:支持命令式和符号式编程模型以最大化效率和性能。 从云端到客户端可移植:可运行于多CPU、多GPU、集群、服务器、工作站甚至移动智能手机。 多语言支持:支持七种主流编程语言,包括C++、Python、R、Scala、Julia、Matlab和JavaScript。 MXNet的优点 本地分布式训练:支持在多CPU/GPU设备上的分布式训练,使其可充分利用云计算的规模优势。 性能优化:使用一个优化的C++后端引擎并行I/O和计算,无论使用哪种语言都能达到最佳性能。 浅嵌入与深嵌入 浅嵌入,命令式编程 深嵌入,声明式编程 如何执行?a=b+1 需要b已经被赋值。立即执行加法,将结果保存在a中。 返回对应的计算图(computation graph),我们可以之后对b进行赋值,然后再执行加法运算 优点 语义上容易理解,灵活,可以精确控制行为。通常可以无缝的和主语言交互,方便的利用主语言的各类算法,工具包,bug和性能调试器。 在真正开始计算的时候已经拿到了整个计算图,所以我们可以做一系列优化来提升性能。实现辅助函数也容易,例如对任何计算图都提供forward和backward函数,对计算图进行可视化,将图保存到硬盘和从硬盘读取。 缺点 实现统一的辅助函数困和提供整体优化都很困难。 很多主语言的特性都用不上。某些在主语言中实现简单,但在这里却经常麻烦,例如if-else语句 。debug也不容易,例如监视一个复杂的计算图中的某个节点的中间结果并不简单。 深度学习系统比较 主语言 从语言 硬件 分布式 命令式 声明式 Caffe C++ Python/Matlab CPU/GPU x x v Torch Lua - CPU/GPU/FPGA x v x Theano Python - CPU/GPU x x v TensorFlow C++ Python CPU/GPU/Mobile v x v MXNet C++ Python/R/Julia/Go CPU/GPU/Mobile v v v MXNet的系统架构 MXNet的系统架构 编程接口 Symbol: 声明式的符号表达式 NDArray:命令式的张量计算 KVStore:多设备间的数据交互 读入数据模块 训练模块 Symbol MXNet使用多值输出的符号表达式来声明计算图。符号是由操作子构建而来。一个操作子可以是一个简单的矩阵运算“+”,也可以是一个复杂的神经网络里面的层,例如卷积层。一个操作子可以有多个输入变量和多个输出变量,还可以有内部状态变量。一个变量既可以是自由的,我们可以之后对其赋值;也可以是某个操作子的输出。 Symbol 在执行一个符号表达式前,我们需要对所有的自由变量进行赋值。下例中,我们需要给定数据,和各个层里隐式定义的输入,例如全连接层的权重和偏值。我们同时要申明所需要的输出,例如softmax的输出。 NDArray MXNet提供命令式的张量计算来桥接主语言的和符号表达式。下面代码中,我们计算矩阵和常量的乘法,并使用numpy来打印结果。 KVStore MXNet提供一个分布式的key-value存储来进行数据交换。它主要有两个函数, push: 将key-value对从一个设备push进存储 pull:将某个key上的值从存储中pull出来此外,KVStore还接受自定义的更新函数来控制收到的值如何写入到存储中。最后KVStore提供数种包含最终一致性模型和顺序一致性模型在内的数据一致性模型。 KVStore 读入数据模块 数据读取在整体系统性能上占重要地位。MXNet提供工具能将任意大小的样本压缩打包成单个或者数个文件来加速顺序和随机读取。 通常数据存在本地磁盘或者远端的分布式文件系统上(例如HDFS或者Amazon S3),每次我们只需要将当前需要的数据读进内存。MXNet提供迭代器可以按块读取不同格式的文件。迭代器使用多线程来解码数据,并使用多线程预读取来隐藏文件读取的开销。 训练模块 MXNet实现了常用的优化算法来训练模型。用户只需要提供数据数据迭代
您可能关注的文档
最近下载
- 体例格式8:工学一体化课程《windows服务器基础配置与局域网组建》任务3学习任务考核方案.docx VIP
- 石方破碎开挖施工组织设计.pdf VIP
- TCCPA-陆上风力发电机组钢混塔架施工与质量验收规范.pdf VIP
- 2025年浙江省江山市中考数学试题及参考答案详解【新】.docx VIP
- 支持性护理对结直肠癌术后结肠造口患者生活质量改善情况分析.pdf VIP
- Goodrive300-01A系列空压机专用变频器说明书.pdf
- 跨境电商平台创业计划书.docx VIP
- 智能制造系统建模与仿真 课件 第1章 智能制造技术的产生及发展.pptx
- 2025年辅警招聘公安基础知识100题及答案.pdf VIP
- 砂浆及砌块原始记录.docx VIP
文档评论(0)