入坑tensorflow2系列(一)——tensorflow1.X与tensorflow2.X的区别

                                                           入坑tensorflow2系列(一)——tensorflow1.X与tensorflow2.X的区别_第1张图片

一 tf.Session() vs Eager execution

tf1 :                                                                                                   tf2:

a=tf.constant(1)                                                                                      a=tf.constant(1)

b=tf.constant(2)                                                                                      b=tf.constant(2)

c=tf.add(a,b)                                                                                           c=tf.add(a,b)

with tf.Session() as sess:                                                                       print(c)

    print(sess.run(c))                                                                                                如果要取得tensor中的值:c.numpy()                     

sess.run()                                                                                            Eager execution

全局化                                                                                                  不再全局化

session                                                                                                 functions

api混乱                                                                                                  api清晰,更好的与python集成

二.变化,重点推出tf.keras,tf.data高层api

1.用eager模式搭建原型

2.用tf.data处理数据

3.tf.feature_column提取特征

4.tf.keras搭建模型

5.tf.saved_model打包模型

三.Eager execution 与Session

Eager execution:命令式编程,不需要编译,可以直接运行,方便,不需要编写完整的静态图,调试不需要打开会话

Session静态图模式:声明式编程,需要编译,通过graph构建的模型在分布式训练,性能优化以及线上部署有优势

Eager execution可通过@tf.function 实现Graph execution,将模型转化为高性能,容易部署的graph execution

三.API层次结构

分三个层次,低阶api,中捷api,高价api

1.python实现的操作符,主要包括张量操作算子,计算图,自动微分

2.python实现的模型组件,对低阶进行封装,主要包括模型层,损失函数,优化器,数据管道,特征列等等

3.python实现的模型成品,一般按照OOP模式封装的高级API,主要是为tf.keras.model提供的API

四.低层api

tf.*

tf.dtypes()  数据类型转换     tf.math数学标量计算 tf.initializers() 初始化操作

tf.random  随机数生成        tf.linalg  线性代数运算   tf.strings  字符串处理

tf.ragged  张量操作,如切片  tf.audio 声音处理  tf,image 图像处理

tf.io  文件处理

五.中层API

tf.data  数据管道           tf.feature_column 特征列         tf.nn 激活函数,卷积,反卷积

tf.keras,layers  模型层,cnn,rnn   tf.keras,loss 损失函数    tf.keras.metrics 评估函数

tf.keras,optimizers  优化器   tf,keras,callbacks 回调函数  tf.summary 模型可视化

六.高层API

tf,keras,models

建模方式有三种:

a.Sequential 方法

b.函数式API方法

c.model 字类化自定义模型

入坑tensorflow2系列(一)——tensorflow1.X与tensorflow2.X的区别_第2张图片

 

 

 

 

你可能感兴趣的:(入坑tensorflow2系列(一)——tensorflow1.X与tensorflow2.X的区别)