Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法理解keras致密层';s输出_Python_Tensorflow_Keras - Fatal编程技术网

Python 无法理解keras致密层';s输出

Python 无法理解keras致密层';s输出,python,tensorflow,keras,Python,Tensorflow,Keras,我正在测试keras层。我构建了一个简单的密集层,输入的形状是(10,2),所有值都等于1。我使用零初始状态来初始层权重。然而,我无法理解致密层的输出,因为它可能会计算未知的最终输出。我的代码是: 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_laye

我正在测试keras层。我构建了一个简单的密集层,输入的形状是
(10,2)
,所有值都等于1。我使用零初始状态来初始层权重。然而,我无法理解致密层的输出,因为它可能会计算未知的最终输出。我的代码是:

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致密层的输出是这样的?

您不了解输出的形状或
输出的数值结果
?你知道权重每次都是随机初始化的,对吧?@Vlad指出,默认情况下,Dense使用
kernel\u initializer='glorot\u uniform'
。你说你用零初始状态来初始层权重,我发现我犯了一个大错误。当我打印权重时,我会重新初始化所有变量。所以输出是基于最后一个随机初始权重的结果,这与我打印的第一个不同!您不了解输出的形状或
输出的数值结果
?你知道权重每次都是随机初始化的,对吧?@Vlad指出,默认情况下,Dense使用
kernel\u initializer='glorot\u uniform'
。你说你用零初始状态来初始层权重,我发现我犯了一个大错误。当我打印权重时,我会重新初始化所有变量。所以输出是基于最后一个随机初始权重的结果,这与我打印的第一个不同!