keras的重要网络层:
核心层(Core Layer)是构成神经网络最常用的网络层的集合,包括:全连接层、激活层、丢弃层、扁平化层、重构层、排列层、向量反复层、Lambda层、激活值正则化层、掩盖层。所有的层都包含一个输入端和一个输出端,中间包含激活函数以及其他相关参数等。
1 Dense层(全连接层)
参考的是“nick_0126”的博客“keras里的Dense()函数”
keras.layers.Dense(units,
activation=None,
use_bias=True,
kernel_initializer='glorot_uniform',
bias_initializer='zeros',
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None)
1.1 参数介绍
units: 神经元节点数数,即输出空间维度。
activation: 激活函数,若不指定,则不使用激活函数。
use_bias: 布尔值,该层是否使用偏置向量。
kernel_initializer: kernel 权值矩阵的初始化器
bias_initializer: 偏置向量的初始化器
kernel_regularizer: 运用到 kernel 权值矩阵的正则化函数
bias_regularizer: 运用到偏置向的的正则化函数
activity_regularizer: 运用到层的输出的正则化函数 (它的 “activation”)。
kernel_constraint: 运用到 kernel 权值矩阵的约束函数
bias_constraint: 运用到偏置向量的约束函数
1.2 代码示例
from keras.layers import Dense
# from torch.nn import Sequential # 这个是pytorch,用法是不一样的
from keras.models import Sequential
# 作为 Sequential 模型的第一层
model = Sequential()
model.add(Dense(32, input_shape=(16,)))
# 现在模型就会以尺寸为 (*, 16) 的数组作为输入,
# 其输出数组的尺寸为 (*, 32)
# 在第一层之后,你就不再需要指定输入的尺寸了:
model.add(Dense(32))
model.summary()
- 输出情况
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense (Dense) (None, 32) 544
_________________________________________________________________
dense_1 (Dense) (None, 32) 1056
=================================================================
Total params: 1,600
Trainable params: 1,600
Non-trainable params: 0
_________________________________________________________________
Process finished with exit code 0