【问题标题】:Advantages and Disadvantages of MXNet compared to other Deep Learning APIs [closed]与其他深度学习 API 相比,MXNet 的优缺点 [关闭]
【发布时间】:2018-06-22 08:38:06
【问题描述】:

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

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

【问题讨论】:

标签: tensorflow deep-learning caffe pytorch mxnet


【解决方案1】:

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

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

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

【讨论】:

  • @Sinaafoorze Python API 怎么样?还是专注于其他语言?
  • Python 是最受支持的 MXNet 训练 API。事实上,命令式 API 在其他语言中的支持非常有限。深度学习项目的典型工作流程是使用 Python 进行训练、导出训练好的模型并使用您选择的语言(python、cpp、java、scala、R)执行推理
  • @Sinaafoorze 谢谢你去测试一下。
  • 实际上,TensorFlow 在其 API 的范围和成熟度上仍然遥遥领先。 TensorFlow 在其 github 项目上的活动也比 MXNet 在其项目上的活动多得多。我担心 MXNet 很难赶上。
  • 我真的很喜欢 MXNet 和 Gluon,但毫无疑问,TensorFlows API 比 MXNet 更完整,而且它的文档记录也更好。问题不仅仅是社区的规模;显然,与我们在 MXNet 上的工作相比,从事 TensorFlow 实现的开发人员要多得多。 MXNet 还缺少一些重要的基本功能。例如,如果不分叉整个源代码并制作自己的自定义版本,就无法在 C++ 中为 MXNet 编写自定义运算符;这使得跨项目共享自定义运算符变得非常困难
猜你喜欢
  • 2017-12-25
  • 2015-08-17
  • 2016-07-25
  • 2020-03-06
  • 1970-01-01
  • 2012-03-09
  • 2011-09-22
  • 2018-02-13
  • 1970-01-01
相关资源
最近更新 更多