网络层构建(tf.keras.layers)
tf.keras.layers模块的主要作用为配置神经网络层。其中常用的类包括:
tf.keras.layers.Dense:构建全连接层;
tf.keras.layers.Conv2D:构建2维卷积层;
tf.keras.layers.MaxPooling2D/AveragePooling2D:构建最大/平均池化层;
tf.keras.layers.RNN:构建循环神经网络层;
tf.keras.layers.LSTM/tf.keras.layers.LSTMCell:构建LSTM 网络层/LSTM unit;
tf.keras.layers.GRU/tf.keras.layers.GRUCell:构建GRU unit/GRU网络层;
tf.keras.layers.Embedding嵌入层将正整数(下标)转换为具有固定大小的向量,如[[4],[20]]->[[0.25,0.1],[0.6,-0.2]]。Embedding层只能作为模型的第一层;
tf.keras.layers.Dropout:构建dropout层等。
下面主要讲解tf.keras.layers.Dense、 tf.keras.layers.Conv2D、 tf.keras.layers.MaxPooling2D/AveragePooling2D和tf.keras.layers.LSTM/tf.keras.layers.LSTMCell。
tf.keras.layers中主要的网络配置参数如下:
activation:设置层的激活函数。默认情况下,系统不会应用任何激活函数。
kernel_initializer 和 bias_initializer:创建层权重(核和偏置)的初始化方案。默认为 "Glorot uniform" 初始化器。
kernel_regularizer 和 bias_regularizer:应用层权重(核和偏置)的正则化方案,例如 L1 或 L2 正则化。默认情况下,系统不会应用正则化函数。