文章内容源于https://github.com/lyhue1991/eat_tensorflow2_in_30_days


本章我们介绍TensorFlow中5个不同的层次结构:

  • 硬件层

    最底层为硬件层,TensorFlow支持CPU、GPU或TPU加入计算资源池。

  • 内核层

    第二层为C++实现的内核,kernel可以跨平台分布运行。

  • 低阶API

    第三层为Python实现的操作符,提供了封装C++内核的低级API指令,主要包括各种张量操作算子、计算图、自动微分。如tf.Variable, tf.constant, tf.function, tf.GradientTape, tf.nn.softmax … 如果把模型比作一个房子,那么第三层API就是【模型之砖】。

  • 中阶API

    第四层为Python实现的模型组件,对低级API进行了函数封装,主要包括各种模型层,损失函数,优化器,数据管道,特征列等等。如tf.keras.layers,tf.keras.losses,tf.keras.metrics,tf.keras.optimizers,tf.data.DataSet,tf.feature_column
    如果把模型比作一个房子,那么第四层API就是【模型之墙】。

  • 高阶API

    第五层为Python实现的模型成品,一般为按照OOP方式封装的高级API,主要为tf.keras.models提供的模型的类接口。
    如果把模型比作一个房子,那么第五层API就是模型本身,即【模型之屋】。

线性回归DNN二分类模型为例,直观对比展示在不同层级实现模型的特点。