Tensorflow 如何向神经网络添加附加数据?

Tensorflow 如何向神经网络添加附加数据?,tensorflow,keras,neural-network,cnn,Tensorflow,Keras,Neural Network,Cnn,Im目前正在编码一个由3层CNN和3层完全连接层组成的神经网络,我的CNN的输入是4幅图像 现在我的问题是,是否可以在完全连接的层和CNN之间添加额外的输入。我希望CNN的输出作为完全连接层的输入加上一个表示角度的输入 这在tensorflow keras中是可能和可行的吗?是的,您可以使用函数式api轻松做到这一点,请查看“好的”,我已经看过了。但我不知道如何正确使用它。假设x1是cnn的平坦输出,x2是角度信息,那么使用Concatenate()([x1,x2])就足够了吗?除了传递的尺寸外

Im目前正在编码一个由3层CNN和3层完全连接层组成的神经网络,我的CNN的输入是4幅图像

现在我的问题是,是否可以在完全连接的层和CNN之间添加额外的输入。我希望CNN的输出作为完全连接层的输入加上一个表示角度的输入


这在tensorflow keras中是可能和可行的吗?

是的,您可以使用函数式api轻松做到这一点,请查看“好的”,我已经看过了。但我不知道如何正确使用它。假设x1是cnn的平坦输出,x2是角度信息,那么使用Concatenate()([x1,x2])就足够了吗?除了传递的尺寸外,尺寸应该是相同的。例如:如果展平输出为(1,N),如果角度信息也有(1,M),则可以连接(因为两者都是一维的,元素数量不同)。在这种情况下,concat之后得到(1,N+M)。如果您的第一个输入是(600,30,30,128)(批量大小为600的图像,批量大小为128个通道的30x30图像,只要空间尺寸和批量大小(600x30x30)相同,您就可以合并。要合并的尺寸也可以作为参数传递,这里是最后一个(轴=-1),其余尺寸需要相同。请查看