为什么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

多维度Top-k评分

例如,在机器学习中的自然语言处理中,通常使用波束搜索来…

R – Caret train() “错误:停止” 与 “在newdata中未找到对象中使用的所有变量名”

我正在尝试为蘑菇数据构建一个简单的朴素贝叶斯分类器。我…

创建训练和测试数据集分割,数据嵌套在多个文件夹中

我正在准备数据以训练一个图像识别模型。目前我有一个文件…

我的神经网络预测出现错误:IndexError: list index out of range

我正在进行一个简单的垃圾邮件/非垃圾邮件文本分类。我的…

python 给出数组是一维的,但索引了两个维度错误

我已经为 miniBatchGradientDesce…

TensorFlow自定义训练步骤使用不同的损失函数

背景 根据TensorFlow文档,可以使用以下方式执…

发表回复

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