Плотные слои TensorFlow: 1 размерный вес? - PullRequest
1 голос
/ 19 апреля 2019

Моя сеть настроена следующим образом:

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,) существуют в этой модели?

1 Ответ

1 голос
/ 20 апреля 2019

(784, 128) и (128, 10) - последние два слоя веса .(128,) и (10,) - последние два слоя смещения .Если вам не нужны смещения , вы можете использовать параметр 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) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...