我目前从事tensorflow和神经网络的工作,对这个主题很陌生。
我有一堆4个图像以(4160120,1(的形状传递到我的conv网络,因为这些图像是灰度级的。
在将我的图像通过神经网络后,我想将图像扁平化为一个长阵列,然后传递到密集层。
但在对神经网络的输出使用Flatten((后,我得到了一个形状为(41240(的二维数组,而不是一个长的一维数组。
为什么会这样?我需要做什么才能将其展平为1D阵列?只需再次使用Flatten((?
我问是因为我的目标是将扁平的与另一个一维输入连接起来,但我得到了一个连接不起作用的数组,因为它们没有相同的形状
谢谢你的帮助!
Keras层不影响批次维度。在将数据输入到模型之前,您必须使用tf.reshape()
:
input1 = tf.reshape(input1, (-1,))
output = model(input1, input2) # exclude Flatten layer from your model