打开网易新闻 查看更多图片

数据科学家在深度学习中选择的最顶尖的三个开源库框架是PyTorch、TensorFlow和Keras。Keras是一个用python脚本编写的神经网络库,可以在TensorFlow的顶层执行。它是专门为深度神经网络的鲁棒执行而设计的。TensorFlow是一种在数据流编程和机器学习应用中用于执行多个任务的工具。PyTorch是一个用于自然语言处理的机器学习库。

Keras、TensorFlow和PyTorch的头对头比较(Infographics)

以下是Keras与TensorFlow和Pytorch之间的十大区别:

Keras与TensorFlow与PyTorch的关键区别

下面列出了Keras、TensorFlow和PyTorch的体系结构、函数、编程和各种属性等主要区别。

  • API级别:Keras是一种高级的API,可以运行在Theano、CNTK和TensorFlow的顶层,后者因其快速开发和语法简单而受到关注。TensorFlow可以在API的低级别和高级别上工作,而PyTorch只能在API的低级别上工作。

  • 框架的架构和性能:Keras的架构简单、简洁、易读,性能低下。TensorFlow是刚性使用,但支持Keras更好的表现。与Keras相比,PyTorch的架构复杂且难以解释。但TensorFlow 和PyTorch 的性能是健壮的,这提供了最大的性能,也提供了在更大的数据集高效率。由于Keras的性能较低,它只适用于较小的数据集。

  • 调试过程:一个简单网络的调试是由Keras提供的,这是经常需要的。但是在TensorFlow中,调试是一个非常复杂的过程,而与Keras和TensorFlow相比,PyTorch提供了灵活的调试功能。PyTorch在神经网络中的操作描述了PyCharm、ipdb、PDB等调试工具的有效计算时间。但是当涉及到TensorFlow时,有一个叫做tfdbg的高级选项,它可以通过浏览所有的张量在特定的运行时在会话范围内操作。由于它是用python代码内建的,所以不需要单独使用PDB。TensorFlow在模式上比PyTorch先进,具有比PyTorch和Keras更广泛的群体。

  • 框架的适用性。: Keras在小数据集中是首选,它提供了快速原型和扩展的大量后端支持,而TensorFlow在对象检测方面提供了高性能和功能,可以在大数据集中实现。PyTorch具有较强的灵活性和调试能力,可以在最短的数据集训练时间内适应。

  • 神经网络框架的性能:PyTorch具有开发递归网络的多层和细胞级类。层的对象管理输入数据和一个单位单元中的一个时间步长,也表示具有双向属性的RNN。因此,由于没有进一步优化的必要,网络的众多层为单元提供了一个合适的包装。TensorFlow由dropout包装器、多个RNN单元和单元级类组成,用于实现深度神经网络。Keras由全连接层、GRU和用于创建递归神经网络的LSTM组成。

Keras与TensorFlow与PyTorch的对比表

以下是TensorFlow和Spark之间的十大区别:

打开网易新闻 查看更多图片

结论

PyTorch简单且用户友好,而TensorFlow由于API不全面而被采用。Keras和TensorFlow有一个坚固的砖墙,但剩下的小孔用于通信,而PyTorch与Python紧密绑定,适用于许多应用程序。

本文:http://jiagoushi.pro/node/1130

微信公众号 【首席架构师智库】
适合物业仔细反复阅读。
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
微信小号 激烈深度讨论,报上你想加入的群:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.
社群已经有5000人,赶快加入讨论。视频号 【首席架构师智库】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。知识星球 向大咖提问,近距离接触,或者获得私密资料分享。 微信圈子 志趣相投的同好交流。 喜马拉雅 路上或者车上了解最新黑科技资讯,架构心得。 知识星球 认识更多朋友,职场和技术闲聊。