概述
Dense类,全连接层,继承Layer类
每一层 的 每个神经元 都与 下一层 的 每个神经元 相连,如下图:
官方文档:
https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/keras/layers/Dense
Layer文档:
https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/keras/layers/Layer
初始化
__init__(
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,
**kwargs
)
参数说明:
- units:正整数,神经元数量
- activation:指定激活函数,如:relu
- use_bias:是否添加偏置量
- kernel_initializer:权重初始化方法。
默认为Glorot均匀分布初始化方法
https://keras-cn.readthedocs.io/en/latest/other/initializations/ - bias_initializer:偏置值初始化方法,默认为0
- **kwargs:关键字参数,有以下:
- input_shape:输入数据的形状。
- input_dim:输入数据的形状的维度
注意:
第一层 dense,必须定义 input_shape 或者 input_dim
例子
tf.keras.layers.Dense(1,input_shape=(1,))
也就是创建一个层,
第一个“1”表示该层有一个神经元
第二个“1”表示有一个输入值
最终表示 一个:y=wx+b
例子
tf.keras.layers.Dense(1,input_shape=(1,),activation='relu')
表示使用relu激活函数
方法
get_weights()
返回图层的当前权重
继承Layer类
语法
get_weights()
返回:
权重值,list类型
参考
https://blog.csdn.net/u012969412/article/details/70882296
https://keras-cn.readthedocs.io/en/latest/other/constraints/
https://keras-cn.readthedocs.io/en/latest/other/initializations/
https://blog.csdn.net/weixin_42499236/article/details/84624195