【发布时间】:2019-12-31 09:31:02
【问题描述】:
我有一个多层神经网络。我有维度为[batch_size, 7, 4] 的神经网络的输入。当这个输入通过网络时,我观察到只有输入的第三维一直在变化,也就是说如果我的第一层有20个输出,那么第二层的输出是[batch_size, 7, 20]。我需要多层后的最终结果为[batchsize, 16]。
我有以下问题:
- 是否使用了其他两个维度?
- 如果没有,如何修改我的网络以使用所有三个维度?
- 如何有意义地删除一维以获得所需的二维输出?
以下是我目前在 Tensorflow v1.14 和 Python 3 中的实现:
out1 = tf.layers.dense(inputs=noisy_data, units=150, activation=tf.nn.tanh) # Outputs [batch, 7, 150]
out2 = tf.layers.dense(inputs=out1, units=75, activation=tf.nn.tanh) # Outputs [batch, 7, 75]
out3 = tf.layers.dense(inputs=out2, units=32, activation=tf.nn.tanh) # Outputs [batch, 7, 32]
out4 = tf.layers.dense(inputs=out3, units=16, activation=tf.nn.tanh) # Outputs [batch, 7, 16]
感谢任何帮助。谢谢。
【问题讨论】:
标签: python tensorflow machine-learning deep-learning neural-network