gpt4 book ai didi

python - TensorFlow 密集层 : 1 dimentional weights?

转载 作者:行者123 更新时间:2023-12-01 08:00:30 24 4
gpt4 key购买 nike

我按照以下方式设置了网络:

model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
])

我希望这个配置是这样的:

[784 neurons]
(784,128 weights)
[128 neurons]
(128,10 weights)
[10 neurons]

但是,当我使用 model.get_weights() 打印网络的权重时,它会产生以下输出:

for w in model.get_weights():
print(w.shape,"\n")

(784, 128)

(128,)

(128, 10)

(10,)

为什么此模型中存在 (128,) 和 (10,)?

最佳答案

(784, 128)(128, 10) 是最后两层权重(128,)(10,) 是最后两层偏差。如果不需要biases,可以使用use_bias参数来设置。例如:

import keras

model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, use_bias=False,activation='relu'),
keras.layers.Dense(10, use_bias=False,activation='softmax')
])

for w in model.get_weights():
print(w.shape,"\n")

# print
(784, 128)

(128, 10)

关于python - TensorFlow 密集层 : 1 dimentional weights?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55757445/

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