1.tf.layers.dense
是一个全连接层
2.注意下面程序的输出
ones = tf.ones(shape=[2,3])
print(ones)
temp1 = tf.nn.softmax(ones,axis=0)
print(temp1)
temp2 = tf.nn.softmax(ones,axis=1)
print(temp2)
print(tf.reduce_sum(ones, 0))
--------------------------------------------------------
tf.Tensor(
[[1. 1. 1.]
[1. 1. 1.]], shape=(2, 3), dtype=float32)
tf.Tensor(
[[0.5 0.5 0.5]
[0.5 0.5 0.5]], shape=(2, 3), dtype=float32)
tf.Tensor(
[[0.33333334 0.33333334 0.33333334]
[0.33333334 0.33333334 0.33333334]], shape=(2, 3), dtype=float32)
tf.Tensor([2. 2. 2.], shape=(3,), dtype=float32)
注意一个shape(2,3)的矩阵,reduce_sum(axis=0),会变成(1,3)的矩阵,然后你就知道实际上是把行相加起来。
一个shape(2,3)的矩阵,reduce_sum(axis=1),会变成(2,1)的矩阵,然后你就知道实际上是把列加起来。
temp1 = tf.nn.softmax(ones,axis=0),ones的shape是(2,3),沿着axis=0进行softmax,可知,其除以的矩阵shape是(1,3),可知,除以的矩阵是两行加起来的结果,所以temp1中的所有元素都是1。
通过axis=0,我们可以推导出某个操作所产出矩阵的shape。
3.