之前写的代码都是基于比较底层的API了,底层的API其实是有好处的,虽然还是调API,但是至少对于原理有小小的理解才能够写出代码。而且在实现一些新的论文或者要实现一个新的点子的时候,这时候是没有API的,因此底层的API非常有存在的必要,且必须经过这一个过程。
但是对于一个非常熟悉底层原理和经过了写底层代码这个过程的人,在有些很常见的任务上,就是用高级封装好的API就行。tf.layers就是提供这个功能的。是用tf.layers封装好的函数,能够省去非常多自己写的代码,而且更加简单更加方便。
一.概览
官方文档:Module: tf.layers
tf.layers中分为类和函数,我们这里主要讲函数,因为类和函数的用法大同小异。可以发现,这个模块主要覆盖的区域是全连接和卷积等等的基本操作。
Input(…): 用于实例化一个输入 Tensor,作为神经网络的输入。
average_pooling1d(…): 一维平均池化层
average_pooling2d(…): 二维平均池化层
average_pooling3d(…): 三维平均池化层
batch_normalization(…): 批量标准化层
conv1d(…): 一维卷积层
conv2d(…): 二维卷积层
conv2d_transpose(…): 二维反卷积层
conv3d(…): 三维卷积层
conv3d_transpose(…): 三维反卷积层
dense(…): 全连接层
dropout(…): Dropout层
flatten(…): Flatten层,即把一个 Tensor 展平
max_pooling1d(…): 一维最大池化层
max_pooling2d(…): 二维最大池化层
max_pooling3d(…): 三维最大池化层
separable_conv2d(…): 二维深度可分离卷积层
二.常见函数说明
tf.layers.dense
dense(
inputs,
units,
activation=None,
use_bias=True,
kernel_initializer=None,
bias_initializer=tf.zeros_initializer(),
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
trainable=True,
name=None,
reuse=None
)