Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.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 神经网络的多维输入_Python_Tensorflow_Machine Learning_Deep Learning_Neural Network - Fatal编程技术网

Python 神经网络的多维输入

Python 神经网络的多维输入,python,tensorflow,machine-learning,deep-learning,neural-network,Python,Tensorflow,Machine Learning,Deep Learning,Neural Network,我有一个多层的神经网络。我有维度为[batch_size,7,4]的神经网络的输入。当这个输入通过网络时,我观察到只有输入的第三维不断变化,也就是说,如果我的第一层有20个输出,那么第二层的输出是[batch_size,7,20]。我需要在许多层之后的最终结果是[batchsize,16]的形状 我有以下问题: 是否使用了其他两个维度? 如果没有,我如何修改我的网络以便使用所有三个维度? 如何有意义地降低一维以获得所需的二维输出? 以下是我目前在Tensorflow v1.14和Python 3

我有一个多层的神经网络。我有维度为[batch_size,7,4]的神经网络的输入。当这个输入通过网络时,我观察到只有输入的第三维不断变化,也就是说,如果我的第一层有20个输出,那么第二层的输出是[batch_size,7,20]。我需要在许多层之后的最终结果是[batchsize,16]的形状

我有以下问题:

是否使用了其他两个维度? 如果没有,我如何修改我的网络以便使用所有三个维度? 如何有意义地降低一维以获得所需的二维输出? 以下是我目前在Tensorflow v1.14和Python 3中的实现:

out1=tf.layers.denseinputs=Noised_数据,单位=150,激活=tf.nn.tanh输出[batch,7150] out2=tf.layers.denseinputs=out1,单位=75,激活=tf.nn.tanh输出[批次,7,75] out3=tf.layers.denseinputs=out2,units=32,activation=tf.nn.tanh输出[批次,7,32] out4=tf.layers.denseinputs=out3,units=16,activation=tf.nn.tanh输出[批次,7,16] 感谢您的帮助。谢谢。

对问题1的回答:第二维度轴=1中的数据值未被使用,因为如果您查看下面的代码段输出,假设批次大小=2:

对问题3的回答:如果您按照上述方式重塑输入,则无需删除维度。

对问题1的回答:未使用第二维度轴=1中的数据值,因为如果您查看下面代码段的输出,假设批次大小=2:


对问题3的回答:如果您按照上述方式重塑输入,则无需删除维度。

很抱歉这么晚才回复。我之所以有三个维度的数据,是因为它们在每个维度上都有一些意义。重塑将有助于降低维度,这没有问题,但数据现在是交错的,已经失去了所有意义。这就是我的问题中有意义的意思。简言之,虽然你已经成功地减少了一个维度,但这并没有帮助。谢谢你这么晚才回复。我之所以有三个维度的数据,是因为它们在每个维度上都有一些意义。重塑将有助于降低维度,这没有问题,但数据现在是交错的,已经失去了所有意义。这就是我的问题中有意义的意思。简言之,虽然你已经成功地减少了一个维度,但这并没有帮助。谢谢
>>> input1 = tf.placeholder(float, shape=[2,7,4])
>>> tf.layers.dense(inputs=input1, units=150, activation=tf.nn.tanh)
>>> graph = tf.get_default_graph()
>>> graph.get_collection('variables')
[<tf.Variable 'dense/kernel:0' shape=(4, 150) dtype=float32_ref>, <tf.Variable 'dense/bias:0' shape=(150,) dtype=float32_ref>]
input1 = tf.reshape(input1, [-1, 7*4])