我想向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'])
答案 0 :(得分:0)
将数据添加到直方图确实没有多大意义。 Keras在自己的文档中对如何在模型中使用多个输入进行了解释:https://keras.io/getting-started/functional-api-guide/。 多输入和多输出模型似乎就是您想要的。