【Tensorflow2.1】tf.keras.layers.Dense常用方法

0 涉及全部代码和tf版本(2.1.0)

import tensorflow as tf
print(tf.__version__) # 2.1.0
layer = tf.keras.layers.Dense(10)
layer = tf.keras.layers.Dense(10,input_shape=(None,5))
layer = tf.keras.layers.Dense(10,input_shape=[None,5])
layer(tf.zeros([3,5]))
layer.variables
layer.trainable_weights

1

layer = tf.keras.layers.Dense(10)

这是最基本便捷使用方法,10对应的是units这个参数。表示该层有多少个神经单元。同时也是与上一层连接的W的列数。这一点可以从矩阵乘法得到

2

layer = tf.keras.layers.Dense(10,input_shape=(None,5))
这种指定一般使用在与输入层连接的部分,指定明确。input_shape的第一维一般表示一个batch的大小,即有多少个样本。5表示每个样本应该有多少特征,也是多少个列。如果不写会根据输入的X自动推断。由此可以明确,输入层和该层之间连接的权重参数W的shape为(5,10)

像函数一样使用layer

【Tensorflow2.1】tf.keras.layers.Dense常用方法_第1张图片
表示shape的时候好像()和[]没有什么大区别。

4 layer.variables

【Tensorflow2.1】tf.keras.layers.Dense常用方法_第2张图片
可以通过layer.variables查看该层的参数,因为我们之前使用的是Dense,即全连接,shape与第二部分推断的一样
其中变量名 'dense_17/kernel:0’就是我们常说的W

layer.trainable_weights

【Tensorflow2.1】tf.keras.layers.Dense常用方法_第3张图片

你可能感兴趣的:(深度学习)