我想创建一个浅层网络,该浅层网络将采用矢量并将其通过网络。
我有一个大小为6的向量。vec = [0,1,4,5,1,4,5]
我的网络:
vec_a = Input(shape=(6,))
x_1 = Convolution1D(nb_filter=10, filter_length=1, input_shape=(1, 6), activation='relu')(vec_a)
x_1 = Dense(16, activation='relu')(x_1)
但我不断得到:
ValueError:输入0与层conv1d_1不兼容:预期 ndim = 3,找到的ndim = 2
拟合函数的训练数据的形状为: (36400,6)
答案 0 :(得分:1)
您必须调整输入数据的形状以使其具有正确的输入尺寸,例如:
your_input_array.reshape(-1, 6, 1)
此外,您的输入层应如下所示:
vec_a = Input(shape=(6,1))
原因是Conv1D中的1D与序列的使用有关。但是此序列可以在每个位置具有多个值的向量。在您的情况下,它是相同的,但是在最后一个维度中,您“仅有”一个长度为1的向量。