选择 TensorFlow 或 Theano 作为 Keras 的后端

数据挖掘 神经网络 深度学习 西阿诺 张量流 喀拉斯
2021-09-16 23:13:09

Keras同时支持TensorFlowTheano作为后端:除了目前并非所有操作都使用 TensorFlow 后端实现这一事实之外,选择一个与另一个的优缺点是什么?

2个回答

2017-09-28 宣布 Theano 将停产:

这里(约书亚·本吉奥):

经过近十年的开发,我们很遗憾地宣布,我们将在 1.0 版本之后结束我们的 Theano 开发,这将在接下来的几周内发布。我们将继续进行最少的维护以使其工作一年,但我们将停止积极实施新功能。根据我们对开源软件的承诺,Theano 将在之后继续可用,但 MILA 不承诺在该时间框架之后花时间进行维护或支持。

所以TensorFlow是一个更好的选择。

如果给我选择,我会选择 Theano

原因:

  • TensorFlow 不具备的最先进的 RNN 实现和 API ,还有很长的路要走在 RNN 流行的领域中,Theano 具有很大的优势。
  • 非常广泛的实现TensorFlow 要赶上它还有很长的路要走。许多最近的 ML 模型都是在 Theano 的帮助下完成的,所以它在神经网络方面就像一个标准。
  • 优化和改进的循环 Theano 的扫描是神经网络循环的绝佳方式,它利用了很棒的 map-reduce 框架。但是,我很确定 TensorFlow 会改进这一点,因为它的创建者 Jeff Dean 是 Map Reduce 的父亲。但是,截至目前;是西诺
  • 视频分析方面的巨大优势。

然而,TensorFlow 同时支持 cpp 和 Python 接口,这可能是 cpp 社区的一个优势。但是,对于 ML 和数据科学产品,Python 一直是标准,因此它不会成为 IMO 的巨大优势。

但是,模型部署和在生产中的易用性是 TensorFlow 真正的优势所在。由于它使用 Eigen 进行改进且易于部署,因此它是工程师的宠儿。如果它与 Windows 兼容,那么您将看到巨大的迁移。但是,我已经习惯了 Python 的开销,我可以等到它变得更加完善。

所以,暂时的 Theano。我可以愉快地等待 TensorFlow 迎头赶上。

如果您要部署简单到平均复杂度的神经网络,请使用 Tensorflow。如果说深度学习,那么 Theano。