#python #tensorflow #keras
#python #tensorflow #keras
Вопрос:
Я тестирую keras layer. Я создал простой плотный слой с формой ввода (10,2)
и всеми значениями, равными 1. И я использую zero_initial_state для начальных весов слоя. Однако я не смог понять выходные данные dense layer, поскольку он может вычислять конечные выходные данные с помощью sth. неизвестно. Мой код:
batch_size = 10
time_steps = 30
label_num = 2.
units = 5
batch_data = tf.ones((batch_size, label_num))
dense_layer = Dense(units)
output = dense_layer(batch_data)
with tf.Session() as sess:
init = tf.global_variables_initializer()
sess.run(init)
print('__________________output_____________________')
print(sess.run(output))
Я печатаю начальное ядро и смещаю:
____________________self.kernel____________________
[[-0.6072792 0.87520194 -0.5916964 -0.28233814 0.37042332]
[ 0.24503589 -0.8950937 -0.7122175 0.67322683 0.9035703 ]]
____________________self.bias____________________
[0. 0. 0. 0. 0.]
Я думаю, что конечный результат должен быть:
[[-0.3622433 -0.01989174 -1.3039138 0.3908887 1.2739936 ]
[-0.3622433 -0.01989174 -1.3039138 0.3908887 1.2739936 ]
[-0.3622433 -0.01989174 -1.3039138 0.3908887 1.2739936 ]
[-0.3622433 -0.01989174 -1.3039138 0.3908887 1.2739936 ]
....
Однако конечный результат:
[[-0.25280607 1.0728977 -0.6096982 1.1957564 0.82103825]
[-0.25280607 1.0728977 -0.6096982 1.1957564 0.82103825]
[-0.25280607 1.0728977 -0.6096982 1.1957564 0.82103825]
Активация отсутствует. Почему вывод keras dense layer такой?
Комментарии:
1. Вы не понимаете форму вывода или числовой результат
output
? Вы знаете, что веса каждый раз инициализируются случайным образом, верно?2. Как указал @Vlad, Dense использует
kernel_initializer='glorot_uniform'
по умолчанию. И вы сказали, что используете zero_initial_state для начальных весов слоя3. Я обнаружил, что допустил большую ошибку. Когда я печатаю веса, я повторно инициализирую все переменные. Таким образом, вывод — это результат, основанный на последних случайных начальных весах, который отличается от первого, который я напечатал!