mshadow:矩阵阴影库
此代码库已根据 #373 向 Apache MXNet 项目捐赠,该仓库已被淘汰。未来的开发应继续在 Apache MXNet 中进行。MShadow 是一个轻量级的 C++/CUDA 矩阵/张量模板库。mshadow 的目标是为 机器学习 项目提供高效、设备不变和简单的张量库,该项目旨在实现最高的性能和控制,同时强调简单性。MShadow 还提供了允许以简单统一的方式编写多 GPU 和分布式 深度学习 程序的接口。
特点
- 高效: 你写的所有表达式都会被延迟求值并编译成优化代码
- 你写的表达式不会发生时间性内存分配
- mshadow 会在编译时为你写的每个表达式生成特定的内核。
- 设备不变: 你可以编写一个代码,它可以在 CPU 和 GPU 上运行
- 简单: mshadow 允许你使用表达式编写 机器学习 代码。
- 白盒: 将浮点* 放入 Tensor 结构中,并利用该包,除非明确调用,否则不会发生内存分配
- 轻量级库: 只需要少量代码即可支持 机器学习 中常用的函数
- 可扩展: 用户可以编写简单的函数,插入 mshadow 并在 GPU/CPU 上运行,无需具备 CUDA 经验。
- 多 GPU 和分布式 ML: mshadow-ps 接口允许用户以统一的方式编写高效的多 GPU 和分布式程序。
版本-------
- 此版本为 mshadow-2.x,其接口发生了很多变化,不兼容 mshadow-1.0 版本
- 如果使用旧版本的 cxxnet,则需要使用旧版 mshadow 代码