TensorFlow – 高级封装tf.layers

  tf.layers是一种较为高级的TensorFlow API封装,可以在一个函数内实现神经网络一层的完整功能。对于已经理解了基本原理、使用已有的网络、追求高效率开发的人来说,tf.layers是一个不错的选择。
  虽然tf.layers简单好用,但是理解底层原理和学会使用底层API也同样有必要,因为当提出一个新的想法,或一篇新发表的论文需要用代码实现的时候,往往还没有高级的API,这时候底层的API就发挥出它的作用了。
  下面介绍tf.layers的如下几个(常用)函数:

tf.layers函数


函数 作用
tf.layers.dense 全连接层
tf.layers.dropout Droupout层
tf.layers.flatten 把一个Tensor展平
tf.layers.conv2d 二维卷积层
tf.layers.conv2d_transpose 二维反卷积层
tf.layers.max_pooling2d 二维最大池化层
tf.layers.average_pooling2d 二维平均池化层
tf.layers.batch_normalization 批量标准化层

tf.layers.dense 全连接层

tf.layers.dropout Dropout 层

tf.layers.flatten 把一个Tensor展平(保留batch维,即第0维)

tf.layers.conv2d 二维卷积层

tf.layers.conv2d_transpose 二维反卷积层

tf.layers.max_pooling2d 二维最大池化

tf.layers.average_pooling2d 二维平均池化

  参数与二维最大池化相同

tf.layers.batch_normalization 批量标准化

使用tf.layers简化代码

  之前的文章TensorFlow – 卷积神经网络(CNN)与代码实现中的代码可以用tf.layers简化为: