为什么Keras应用中input_shape的最后一个参数必须指定为3?

我想使用预训练的网络,如VGG、ResNet。在Keras中,input_shape必须指定为(w,h,3)的格式。如果我想将通道数指定为1,有什么技巧吗?

conv_vgg = keras.application.VGG16(input_shape=(224,224,3))

我想将3改为1:

conv_vgg = keras.application.VGG16(input_shape=(224,224,1))

提前感谢!


回答:

预训练网络是在ImageNet或其他图像数据集上训练的。这意味着它们是用RGB图像训练的,因此使用预训练网络需要三个通道。

如果你想对单通道图像使用预训练网络,你可以将你的通道重复三次然后继续。(将你的1通道图像复制两份,从(224,224,1)形状变为(224,224,3)形状,即3通道图像)。

Related Posts

如何从数据集中移除EXIF数据?

我在尝试从数据集中的图像中移除EXIF数据(这些数据将…

用于Python中的“智能点”游戏的遗传算法不工作

过去几天我一直在尝试实现所谓的“智能点”游戏。我第一次…

哪个R平方得分更有帮助?

data.drop(‘Movie Title’, ax…

使用线性回归预测GRE分数对录取率的影响

我正在学习线性回归,并尝试在Jupyter笔记本中用P…

使用mlrMBO贝叶斯优化进行SVM超参数调优时出现错误

我试图针对一个分类任务优化SVM,这个方法在许多其他模…

Keras模型的二元交叉熵准确率未发生变化

我在网上看到了很多关于这个问题的提问,但没有找到明确的…

发表回复

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