Why use Keras?

今天有无数的深度学习框架可用. 为什么要使用Keras而不是其他任何工具? 这是Keras与现有替代方案相比可比的一些领域.


Keras prioritizes developer experience

  • Keras是为人类而非机器设计的API. Keras遵循降低认知负担的最佳实践 :它提供一致且简单的API,它最小化了常见用例所需要的用户操作数量,并且针对用户错误提供了清晰且可操作的反馈.
  • 这使得Keras易于学习和使用. 作为Keras用户,您将提高工作效率,使您可以比竞争对手更快地尝试更多创意-反过来又可以帮助您赢得机器学习竞赛 .
  • 这种易用性并不以降低灵活性为代价:由于Keras与较低级别的深度学习语言(尤其是TensorFlow)集成,因此您可以实现您可以用基本语言构建的任何内容. 特别是,作为tf.kerastf.keras API与TensorFlow工作流程无缝集成.

Keras has broad adoption in the industry and the research community

Jeff Hale根据7个类别的11个数据源计算得出的深度学习框架排名

截至2018年中,Keras拥有超过25万个人用户,与TensorFlow本身(以及Keras API通过tf.keras模块成为TensorFlow的官方前端)之外的其他深度学习框架相比,在行业和研究领域都有更广泛的采用).

您已经在不断与Keras内置的功能进行交互-Netflix,Uber,Yelp,Instacart,Zocdoc,Square等公司都在使用它. 在将深度学习作为其产品核心的初创企业中,它尤其受欢迎.

Keras还是深度学习研究人员的最爱,在上传到预印本服务器arXiv.org的科学论文中,提到的论文名列第二. 大型科学组织,尤其是欧洲核子研究组织和美国国家航空航天局的研究人员也采用了Keras.


Keras makes it easy to turn models into products

与其他任何深度学习框架相比,您的Keras模型可以轻松地在更大范围的平台上进行部署:


Keras supports multiple backend engines and does not lock you into one ecosystem

您的Keras模型可以使用各种不同的深度学习后端进行开发. 重要的是,任何仅利用内置层的Keras模型都可以在所有这些后端中移植:您可以使用一个后端训练模型,然后将其加载到另一个后端(例如用于部署). 可用的后端包括:

  • TensorFlow后端(来自Google)
  • CNTK后端(来自Microsoft)
  • Theano后端

亚马逊还有Keras的分支,它使用MXNet作为后端 .

这样,您的Keras模型可以在CPU以外的多种不同硬件平台上进行训练:


Keras has strong multi-GPU support and distributed training support


Keras development is backed by key companies in the deep learning ecosystem

Keras开发主要由Google支持,而tf.keras API打包为tf.keras封装在TensorFlow中. 此外,Microsoft维护CNTK Keras后端. Amazon AWS正在使用MXNet支持维护Keras分支. 其他贡献公司包括NVIDIA,Uber和Apple(带有CoreML).