
MxNet
cdknight_happy
种一棵树最好的时间是十年前,其次是现在!
展开
-
MxNet学习:深度学习编程风格
1 前言无论我们多么关心程序性能,在开始担心优化效果之前,我们首先需要能够工作的代码。编写清晰、直观的深度学习代码非常具有挑战性,任何实践者必须处理的第一件事就是语言语法本身。在众多的深度学习库中,每种库都有自己的编程风格。在本文中,我们将重点讨论两个最重要的高级设计决策:数学计算是采用符号范式还是命令式范式;是构建更大(更抽象)的网络,还是构建更多原子操作的网络。自始至终,我们将重...原创 2018-11-29 11:24:09 · 303 阅读 · 1 评论 -
MxNet学习: 深度学习的依赖引擎
我们总是希望深度学习库运行得更快,能够扩展到更大的数据集。一种自然的方法是,看看我们是否可以从向这个问题投入更多硬件中获益,就像同时使用多个gpu。然后,库设计人员会问:如何跨设备并行计算?更重要的是,我们如何在引入多线程时同步计算?运行时依赖引擎是这些问题的通用解决方案。在本文中,我们研究了使用运行时依赖调度来加速深度学习的方法。我们的目的是解释运行时依赖调度如何既能加速又能简化多设备深度学...原创 2018-11-30 14:52:33 · 484 阅读 · 0 评论 -
MxNet学习:优化深度学习中的内存消耗
在过去的十年中,深度学习的一个持续的趋势是向更深更大的网络发展。尽管硬件性能迅速提高,但先进的深度学习模型仍在不断挑战GPU RAM的极限。因此,即使在今天,人们仍然希望找到一种方法来训练更大的模型,同时消耗更少的内存。这样做可以让我们更快地进行训练,使用更大的批处理大小,从而实现更高的GPU利用率。在本文中,我们探讨了为深度神经网络优化内存分配的技术。我们讨论了几个备选解决方案。虽然我们的建议...原创 2018-11-30 16:39:31 · 2215 阅读 · 0 评论 -
MxNet学习:MxNet架构
1 MxNet架构Runtime Dependency Engine:根据读/写依赖关系调度和执行操作Storage Allocator:高效地分配和回收主机(CPU)和设备(gpu)上的内存块Resource Manager:管理全局资源,如随机数生成器和临时空间NDArray:动态、异步的n维数组,为MXNet提供了灵活的命令式程序Symbolic Execution:静态符号图...原创 2018-11-28 15:59:01 · 488 阅读 · 0 评论