我想向CNN添加一些额外的信息,如性别,年龄,向量...
我的CNN有代表尺寸为125x64的语音直方图的输入矩阵。由于他们来自不同的人,我想将这些信息添加到模型中。此外,我想添加一些代表语音音高或能量(从特征提取中获得(的向量 125x1,但我认为将其附加到直方图不是一个好主意。
model = Sequential()
model.add(Conv2D(32, (3, 3), padding='valid', strides=1,
input_shape=input_shape, activation='relu'))
model.add(MaxPooling2D(pool_size=(4, 3), strides=(1, 3)))
model.add(Conv2D(32, (1, 3), padding='valid', strides=1,
input_shape=input_shape, activation='relu'))
model.add(MaxPooling2D(pool_size=(1, 3), strides=(1, 3)))
model.add(Flatten())
model.add(Dense(512, activation='relu'))
model.add(Dense(512, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='adadelta',
metrics=['accuracy'])
将数据
添加到直方图中确实没有多大意义。Keras 在他们自己的文档中解释了如何在模型中使用多个输入:https://keras.io/getting-started/functional-api-guide/。段落多输入和多输出模型似乎是您要查找的。