gpt4 book ai didi

python - 使用 softmax 作为 tf.keras 中的连续层和使用 softmax 作为密集层的激活函数有什么区别?

转载 作者:行者123 更新时间:2023-12-03 23:43:55 26 4
gpt4 key购买 nike

使用 softmax 作为 tf.keras 中的连续层和使用 softmax 作为密集层的激活函数有什么区别?

tf.keras.layers.Dense(10, activation=tf.nn.softmax)
tf.keras.layers.Softmax(10)

最佳答案

他们是一样的,你可以自己测试

# generate data
x = np.random.uniform(0,1, (5,20)).astype('float32')

# 1st option
X = Dense(10, activation=tf.nn.softmax)
A = X(x)

# 2nd option
w,b = X.get_weights()
B = Softmax()(tf.matmul(x,w) + b)

tf.reduce_all(A == B)
# <tf.Tensor: shape=(), dtype=bool, numpy=True>
使用时也要注意 tf.keras.layers.Softmax ,它不需要指定单位,它是一个简单的激活
默认情况下,softmax 在 -1 轴上计算,如果张量输出 > 2D 并且想要在其他维度上操作 softmax,则可以更改此设置。您可以在第二个选项中轻松更改此设置

关于python - 使用 softmax 作为 tf.keras 中的连续层和使用 softmax 作为密集层的激活函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64096624/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com