TensorFlow 和keras有什么区别?


比如说盖木头房子。想盖什么房子要先选木料,然后加工成需要的形状,最后组合钉装成想要的房子形状。

tensorflow 好比是木头,Keras 好比是拿 tensorflow 做好的木板。如果你盖的房子简单,形状大众,Keras 调用起来会很方便。但如果想设计特殊的房子,那就要从木料开始。

tensorflow 已经可以调用 keras相关函数. keras的关键计算依托于tensorflow 或者 theano. theano不更新了,keras封装的比较好。初学和入门的话建议用 keras。但是想要深入或者做自己的APP的话建议用 tensorflow。


欢迎关注我的公众号一起学习!

点击原文链接可免费获取 机器学习蜥蜴书TF2.0 (暂未出版)

深度学习-更新迭代后的tf2.0与Keras的关系【附tf2.0蜥蜴书见原文链接】?

mp.weixin.qq.com图标

1.为何keras出现在tf2.0中,被使用tf.keras?

2.到底是使用keras来训练还是tf.keras?

3.tf2.0有什么新功能? 结论:应在以后均使用tf.keras

keras与tf.keras:

由谷歌的研究人员Francois Chollet创建开发,因为容易使用就开始 广泛使用。

①我们所调用的Keras需要后端,后端是干嘛的?

后端是一个计算引擎,作用是构建网路和拓扑结构,允许优化器,执行数字计算。可以想像所有的后台操作都是在这个后端里进行的你的网路模型,你的几千甚至上万个参数的更新迭代。后端是可以更换的,只要后端满足规则!

至此,我们应用的就是keras,就是我们能理解的简化版深度学习操作的封装后的API。

②keras的后端变化:

keras v1.1.0之前,其后端是Theano

与此同时,Google发布了tf,tf是用于机器学习和神经网路训练的符号数学库。在此时,keras开始支持tf作为后端,自从keras v1.1.0版本的默认后端成了tf

因为Keras简易便于使用,tf用户被吸引,在tf v1.10.0中,keras就被集成到tf中 ,此时就有了tf.keras。为了确保兼容性,原始的Keras包没有被包含在tf中,它两的开发是有序的。即Keras和tf.keras是分开的,要单独pip。


2019.6——tf2.0发布:

Keras是tf官方高级API ; keras v2.3.0:是首个与tf.keras同步的版本

所有使用tf的人员,都应该使用tf2.0和tf.keras

③对于我们有什么改变呢?

(不管是使用keras还是tf的人员)只需要改变一下导包就可以了。

至今为止,keras和tf.keras仍旧是两个独立项目。但推荐开始使用tf.keras

④why?

优势:例如对 eager execution(更具python风格的动态计算图处理方式)、distribution、TPU 训练的支持,以及通常来说对底层的 TensorFlow 与顶层概念(如「层」和「模型」)之间更好的集成度。它也会得到更好的维护。

小结:

Keras和tf2.0已经深度融合,使用过keras的同学应该已经领略到其在构建自定义模型等各方面的好处,使用过tf的同学也应该也深知其在研究、实验、模型准备、量化和生产部署功能的多样性等优势。

因此开始使用起来tf.keras吧!


tensorflow是比较底层的深度学习模型开发语言

keras是基于tensorflow的高级API,通常直接调用一些封装好的函数就可以实现某些功能,而tensorflow虽然比较底层,但是可以比较灵活的定义模型结构

就好比C语言是最基础的语言

C++在其基础上进行了高级封装


区别就是一个姓T (准确说姓G ),另一个姓K(准确说也快要姓G了),怎么顺手怎么来
keras是tensorflow的介面,比tensorflow容易学习,如果真的从事深度学习这一方面,本人建议学好tensorflw.

keras简单来讲是tensorflow的再封装,keras底层可以选tensorflow,易用,但灵活性不高。


推荐阅读:
相关文章