Ale*_*Dai 4 machine-learning neural-network deep-learning conv-neural-network keras
我有一个要输入到卷积神经网络模型的图像数据集,但是,对于这些图像中的每一个,与图像关联的对象都有一定的距离或距离。
我想输入此范围作为CNN模型的附加上下文。
提供这些额外的信息是否有好处?这样做有意义吗?在Keras可行吗?
谢谢!
您在这里有几个选择,一个是将数值编码为输入中的特征平面。如果您的数值是数字,则c可以向每个输入图像添加一个通道,并c在每个像素处添加该值。
另一种选择是将值合并为完全连接层的附加输入。
在喀拉拉邦,这看起来像:
conv = Sequential()
conv.add(Conv2D(32, kernel_size=(3, 3), strides=(1, 1),
activation='relu',
input_shape=input_shape))
conv.add(MaxPooling2D(pool_size=(2, 2)))
conv.add(Flatten())
conv.add(Dense(512, activation='relu'))
range = Sequential()
range.add(Dense(1, input_shape=(1,), activation='relu'))
merged = Concatenate([conv, range])
merged.add(Dense(n_classes, activation='softmax'))
merged.compile(optimizer='adam', loss='binary_crossentropy',
metrics=['accuracy'])
Run Code Online (Sandbox Code Playgroud)
选择哪个选项将取决于您的数据,以及您是否认为数字功能将有助于卷积层更好地理解输入,或者是否认为直到稍后才需要它。如果有时间,您可以尝试两种架构,看看哪种架构效果更好。
| 归档时间: |
|
| 查看次数: |
1949 次 |
| 最近记录: |