在Keras中向Flatten()层的输出添加新功能

我正在进行图像分类。首先,我将图像输入到我的Keras CNN模型中。

我想在Keras的Flatten层输出处添加新功能,然后将其输入到密集层中。我该如何编写代码来实现这一点?

基本上,我在对图像进行卷积处理后,末尾我想添加其他特征,比如年龄、性别等。

max_pool_final = MaxPooling2D(pool_size=(2,2))(conv_final)flat = Flatten()(max_pool_final)dense = Dense(128)(flat)

在将flat作为输入输入到密集层之前,我想向flat添加一些特征。我该如何做呢?

感谢您的帮助!


回答:

您只需要使用Concatenate层,将这些特征与一个新的输入层一起附加到扁平化的向量上即可:

otherInp = Input(shape = (n_features, ))concatenatedFeatures = Concatenate(axis = 1)([flat, otherInp])dense = Dense(128)(concatenatedFeatures)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注