tensorflow 1.1x 和 tensorflow2.x 中的api总结

tensorflow2 发布以后,动态图和eager execution成为默认模式。同时api和命令都有了非常大的精简,tensorflow 1.1x的api混乱程度令人发指,如果tf不是谷歌出的,按照这种混乱度绝对成不了主流。

尽管很多tensorflow 2 已经发布了很久,但是由于一些历史问题 1.1x 版本仍然有很多人在学习。

如果不得不学习 tf 1.x , 这里结合两个版本的api,进行一个梳理,标注出一些 tf 2.x 已经被废弃或者不被建议使用的api,这类api在学习tensorflow 1 的时候尽量避开,以减少后面学习 tf 2 的时候的成本。

tensorflow 1.1x 

下面这张图是tf 1.1x 的api结构图。其中execution engine,以及下面的底层模块不需要关心。

低阶:python和tensorflow的各种基础用法,例如get_variable,constant等,以及其他语言的各种api组成tensorflow的低阶api

所有的内容都需要学。

中阶:中阶api 中的Dataset 是强烈建议学习的模块。在tensorflow 1.12 以后,tf.layers 模块已经和 tf.keras.layers 模块高度趋同,tf.layers 几乎只剩下一层马甲。例如,tf.layers.Conv2D

@tf_export('layers.Conv2D')
class Conv2D(keras_layers.Conv2D, base.Layer):

再例如:tf.layers.Dense

@tf_export('layers.Dense')
class Dense(keras_layers.Dense, base.Layer):

所以在tf 2.0 中 tf.layers 已经被废弃,只剩下 tf.keras.layers。

Dataset :强烈建议学

tf.layers:不建议学

tf.keras.layers:强烈建议学

高阶:高阶api 包括 estimator 和 keras model。

estimator 是模仿sklearn 创造的出来的一个api,在tensorflow 2.0 中并没有被废弃,但是并不是tensorflow首推的api。keras model 是 tensorflow 2.0 中首推的高阶api。

estimator:建议熟练掌握keras model以后再学

keras model:强烈建议

tensorflow 2.x 

tensorflow 2.x 的层次结构如下

image-20200309181550499

如果直接学tensorflow 2.x 就按照上面这幅图就可以,如果学tensorflow 1.x,那就按照我给的建议,学会以后将来迁移到 tf2 会有最小的成本。

其他:

tensorflow 其他模块也有很多精简,例如 tf 1.x 中的 tf.train.optimizer ,全部迁移到 tf.keras.optimizer、删除了variable_scope 的概念等等。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值