我目前正在使用tensorflow和神经网络,并且对这个主题还很陌生。
我有一个堆栈的4个图像传递给我的conv网络,形状为(4,160,120,1),因为图像是灰度的。
在通过神经网络传递图像后,我想将图像展平成一个长阵列,然后传递到密集的层。
但是在对我的神经网络的输出使用Flatten()之后,我得到了一个形状为(4,2240)的二维数组,而不是一个很长的一维数组。
为什么会这样?我需要做些什么才能将其展平为一维数组?只是再次使用Flatten()吗?
我之所以问这个问题,是因为我的目标是将扁平化的输入与另一个一维的输入连接起来,但我得到了一个连接不起作用的数组,因为它们的形状不同
谢谢你的帮助!
发布于 2021-01-05 17:27:24
Keras层不会影响批次维度。在将数据提供给模型之前,您必须使用tf.reshape():
input1 = tf.reshape(input1, (-1,))
output = model(input1, input2) # exclude Flatten layer from your modelhttps://stackoverflow.com/questions/65576141
复制相似问题