如何将数据传递到Keras?
-
16-10-2019 - |
题
我目前正在努力了解如何使用Keras培训回归网络。我不确定如何将输入数据传递给网络。
输入数据和输出数据都存储为Numpy阵列的列表。
每个输入numpy数组都是一个矩阵,具有(400行,x列)每个输出numpy阵列是一个矩阵,具有(x行,13列)
因此,输入尺寸为400,输出为13。但是如何将列表中的每个集合传递给培训呢?
# Multilayer Perceptron
model = Sequential() # Feedforward
model.add(Dense(3, input_dim=400, output_dim=13))
model.add(Activation('tanh'))
model.add(Dense(1))
model.compile('sgd', 'mse')
我知道型号。适合给定参数的模型,它实际上在数据中如何处理对我来说有点像魔术,以及它如何知道矩阵A的列应映射到矩阵B的行,这必须是为整个矩阵完成,附加到列表。
解决方案
如果您查看KERAS文档,您将观察到,对于顺序模型的第一层,请采用所需的输入。因此,例如,您的第一层是具有输入尺寸为400的密集层。因此,每个输入都应是大小为400的numpy阵列。您可以传递具有大小(x,400)的2D numpy阵列。 (我认为x是输入示例的数量)。您的输出对于每个输出文档都有13个维度,因此您的最终密集层必须为 model.add(Dense(13))
而不是型号add(密集(1))。
从了解到的方式来看,它将X的第一个维度作为训练示例数和第二维数作为每个示例的大小。同样,输出层。