Tensorflow 为什么第一个致密层不是;稠密的;?
我创建了一个带有输入层和两个密集隐藏层的简单拓扑。每个隐藏层有10个输入和10个神经元 我希望每个隐藏层都有10x10个权重/突触,但第一个隐藏层似乎只有1x10个权重:Tensorflow 为什么第一个致密层不是;稠密的;?,tensorflow,Tensorflow,我创建了一个带有输入层和两个密集隐藏层的简单拓扑。每个隐藏层有10个输入和10个神经元 我希望每个隐藏层都有10x10个权重/突触,但第一个隐藏层似乎只有1x10个权重: features = {"test_input" : tensorflow.range(10)}
features = {"test_input" : tensorflow.range(10)}
feature_columns = [tensorflow.feature_column.numeric_column("test_input")]
input_layer = tensorflow.feature_column.input_layer(
features=features,
feature_columns=feature_columns)
hidden_layer_1 = tensorflow.layers.dense(
input_layer,
units=10,
activation=tensorflow.nn.relu,
name="hidden_layer_1")
hidden_layer_2 = tensorflow.layers.dense(
hidden_layer_1,
units=10,
activation=tensorflow.nn.relu,
name="hidden_layer_2")
vars = tensorflow.trainable_variables()
print vars
第一个隐藏层似乎只将每个神经元连接到一个对应的输入,而不是紧密地连接到每个神经元的每个输入。这是预期的吗?这种行为记录在哪里?这是因为
密集
层的输入大小应为[批次大小,特征大小]
。而您的输入是[10,1]
,这就是为什么权重的大小是1x10
只需将tf.转置(输入层)
到第一个密集层的输入即可使输入[1,10]
,并应给出所需的大小