如何在训练时向CNN添加额外的参数

时间:2018-12-19 14:20:16

标签: machine-learning deep-learning conv-neural-network

因此,我必须训练一个网络,在该网络中我有一个图像,真实情况以及与图像有关的额外参数(当前图像状态)。

有一个相机可以拍摄不同缩放级别的图像。对于特定的环境,我有四个具有不同缩放级别(0,25,50,75)的图像。我需要训练网络,以便在给定测试图像的情况下,可以分类是放大还是缩小。

因此,我拥有的数据集是图像,地面真实性(放大或缩小或无缩放)以及当前缩放级别。

如何在网络中添加当前的缩放级别,以使网络正常训练?

我打算暂时使用VGG或AlexNet,将来再使用Inception或ResNet。

1 个答案:

答案 0 :(得分:2)

您可以做的是创建一个模型,该模型通过CNN处理图像,然后以某种方式将其他输入组合到该模型中。因此,您的模型应具有一些输入:图像,(放大或缩小或无缩放),当前缩放级别。因此,您将图像传递到CNN(或几个CNN层),然后展平特征图并附加其他输入值,然后继续遍历其他一些层。或者,您可以在开始时放大图像(如果必须缩小,缩小...),然后将图像传递到CNN。我不知道您使用的是哪个框架,但我知道我会尝试使用功能性API在Keras中对其进行原型设计。