tensorflow入门教程 Keras还是TensorFlow,程序员该如何选择深度学习框架?
Keras还是TensorFlow,程序员该如何选择深度学习框架?
如果您想用少量的代码尽快地构建和测试神经网络,keras是最快的,而且sequential API和model非常强大。而且keras的设计非常人性化。以数据输入和输出为例,与keras的简单操作相比,tensorflow编译码的构造过程非常复杂(尤其对于初学者来说,大量的记忆过程非常痛苦)。此外,keras将模块化作为设计原则之一,用户可以根据自己的需求进行组合。如果你只是想快速建立通用模型来实现你的想法,keras可以是第一选择。
但是,包装后,keras将变得非常不灵活,其速度相对较慢。如果高度包装,上述缺点将更加明显。除了一些对速度要求较低的工业应用外,由于tensorflow的速度较高,因此会选择tensorflow
如果您在验证您的想法时,想定义损失函数而不是使用现有的设置,与keras相比,tensorflow提供了更大的个性空间。此外,对神经网络的控制程度将在很大程度上决定对网络的理解和优化,而keras提供的权限很少。相反,tensorflow提供了更多的控制权,比如是否训练其中一个变量、操作梯度(以获得训练进度)等等。
尽管它们都提供了深度学习模型通常需要的功能,但如果用户仍然追求一些高阶功能选择,例如研究特殊类型的模型,则需要tensorflow。例如,如果您想加快计算速度,可以使用tensorflow的thread函数来实现与多个线程的相同会话。此外,它还提供了调试器功能,有助于推断错误和加快操作速度。
有人说Keras在TensorFlow中的分量越来越重,对此你怎么看?
其实keras不仅在tensorflow的系统中越来越重要,而且因为它是Google为tensorflow开发的一套API,所以父母抚养的孩子自然很容易长大。
另外,如果我们将keras视为一种web前端技术,那么tensorflow在后台就像Java或PHP。也就是说,keras是一套类似于标准的“UI”,它是为开发人员设计的,也就是为“操作员”设计的一个深度学习框架,它便于学习和使用,提高了开发人员的效率。
Keras在2018年拥有25000个人用户。它的易用性和亲和力都非常好。
Keras还支持其他深度学习框架。当然,它不是为其他深度学习框架设计的,但是它太热了,而且设计得很好,所以其他深度学习框架的开发公司都愿意让自己的框架支持keras。
深度学习框架已经开发了相当长的时间。到目前为止,许多工程师还不能使用它,或者他们可能缺少像keras这样的“前端”!
tensorflow入门教程 keras fit_generator tensorflow
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。