MXNet 与其他深度学习 API 相比的优缺点

Advantages and Disadvantages of MXNet compared to other Deep Learning APIs

最近决定学习MXNet,因为我需要用到的一些代码,就是用这个API写的。

但是,我想知道 MXNet 与其他深度学习库相比有哪些优点和缺点。

也许考虑 MXNet 的最大原因是它的高性能要求 API。这是 MXNet 相对于其他平台最重要的优势之一。命令式 API 与 autograd 使得组合和调试网络变得更加容易和直观。 PyTorch 也支持命令式 API,但 MXNet 是唯一支持混合的平台 AFAIK,它有效地允许您的命令式模型转换为符号以获得与符号式 API 相似的性能。这是一个 link 关于 Gluon 的教程,MXNet 的命令 API:http://gluon.mxnet.io/

鉴于您使用的是示例代码,该示例可能是使用符号 API 编写的。在许多 GPU 上训练时,您可能会注意到 MXNet 在符号 API 方面的优势。否则你不会注意到有什么不同(除了一些内存使用)。

Tensorflow 确实比 MXNet 领先一年,因此它拥有更大的用户群,但它只支持符号 API(命令式 API 非常新,仅用于实验),当您 运行 遇到问题时,调试网络要困难得多。然而 MXNet 在功能上很快赶上了,随着 1.0 版本的发布,我认为 TF 中没有任何 MXNet 不支持的东西。