我目前正在努力了解如何使用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的第一个维度作为训练示例数和第二维数作为每个示例的大小。同样,输出层。

许可以下: CC-BY-SA归因
scroll top