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 不支持的东西。
最近决定学习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 不支持的东西。