我发现了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'))
但它没有用,我甚至不知道我应该在卷积函数的每个参数中加入什么。
答案 0 :(得分:0)
尺寸(1D,2D等)的选择取决于输入的尺寸。例如,由于您正在使用MNIST数据集,因此您将使用2D图层,因为您的输入是具有高度和宽度(二维)的图像。或者,如果您使用的是文本数据,则可以使用1D图层,因为句子是单词的线性列表(一维)。
我建议用MNIST查看Francois Chollet的卷积神经网络的例子:https://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py。 (注意:Conv2D与Convolution2D相同。)