keras层中常规1D或2D之间的区别是什么

时间:2017-07-18 14:23:19

标签: python neural-network deep-learning keras

我发现了keras图书馆,我无法说明keras layer中维度的含义以及如何选择它们? (model.add(Convolution2D(...))model.add(Convolution1D(...)) )

例如,我有一组9000列车轨迹和1000条测试轨迹,每条轨迹有1000个样本,所以我创建了大小为9000 * 1000的X_train阵列,X_test的大小为1000 * 1000,Y_train有大小为9000,Y_test的大小为1000。

我的问题是如何选择第一层维度?。

我尝试使用在MNIST中实现的相同示例:

model.add(Convolution2D(9000, (1, 1), activation='relu', input_shape(1,9000000,1),dim_ordering='th'))

但它没有用,我甚至不知道我应该在卷积函数的每个参数中加入什么。

1 个答案:

答案 0 :(得分:0)

尺寸(1D,2D等)的选择取决于输入的尺寸。例如,由于您正在使用MNIST数据集,因此您将使用2D图层,因为您的输入是具有高度和宽度(二维)的图像。或者,如果您使用的是文本数据,则可以使用1D图层,因为句子是单词的线性列表(一维)。

我建议用MNIST查看Francois Chollet的卷积神经网络的例子:https://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py。 (注意:Conv2D与Convolution2D相同。)