我有训练数据,其中每个示例都是12x3二维数组。假设我有 1000 个这样的训练示例,所以我的输入矩阵是一个三维1000x12x3矩阵。我正在尝试将其输入神经网络(类似于下图中概述的网络)。然而,神经网络的第一层期望输入矩阵是二维的,因为与它相乘的隐藏层也是二维的。 
我该如何解决这个问题?我应该通过将每个输入示例展平成一个1x36数组来强制每个输入示例为一维吗?或者隐藏层本身是否应该是三维的以匹配输入?
我有训练数据,其中每个示例都是12x3二维数组。假设我有 1000 个这样的训练示例,所以我的输入矩阵是一个三维1000x12x3矩阵。我正在尝试将其输入神经网络(类似于下图中概述的网络)。然而,神经网络的第一层期望输入矩阵是二维的,因为与它相乘的隐藏层也是二维的。 
我该如何解决这个问题?我应该通过将每个输入示例展平成一个1x36数组来强制每个输入示例为一维吗?或者隐藏层本身是否应该是三维的以匹配输入?
最常见的选项是:
更改输入形状。使用numpy.reshape将原始形状三维转换为二维。
更改模型架构。接收三维表示的每一层都必须是三维大小或添加一个层而不是学习二维表示。
您不会一次将所有示例输入到一层中。您输入第一个示例,向前输入,然后向后输入,然后输入下一个示例,依此类推。就像神经网络需要能够真正学习一样,您不能只运行一次迭代并让它做出准确的预测。
如果你是从头开始做的,它看起来像
input_data = np.array() #shape of 1000x12x3
for i in range(1000):
neuralnet = neuralnet(input=input_data[i]) #input data with shape 12x3