对于具有4个通道的图像,在Keras中使用预先训练的ResNet 50

对于具有4个通道的图像,在Keras中使用预先训练的ResNet 50,keras,resnet,imagenet,Keras,Resnet,Imagenet,我有没有办法将ResNet50的ImageNet权重用于具有形状图像(224,4)的项目?图像有R、G、B、Y通道 目前,我只是在使用 model = ResNet50(include_top=True, weights=None, input_tensor=None, input_shape=input_shape, pooling=None, classes=num_classes) 现在,如果我需要使用ImageNet权重,我需要始终将类数设置为1000。我试着这样做,然后弹出最后一层

我有没有办法将ResNet50的ImageNet权重用于具有形状图像(224,4)的项目?图像有R、G、B、Y通道

目前,我只是在使用

 model = ResNet50(include_top=True, weights=None, input_tensor=None, input_shape=input_shape, pooling=None, classes=num_classes)
现在,如果我需要使用ImageNet权重,我需要始终将类数设置为1000。我试着这样做,然后弹出最后一层,添加我自己的稠密(num_类)层。然而,现在,频道的数量是一个问题


在使用ImageNet weights时,是否有人能建议一种在模型中容纳4个通道的方法?

不,没有真正的方法,网络只是没有使用额外的通道进行训练。您唯一的选择是使用RGB数据。有什么方法可以合并频道吗?我使用numpy.stack()简单地添加通道。不过,我可以就如何将4个频道调整为3个频道提出一些建议。这是你必须尝试的,不是任何人都能告诉你的。记住,你和只有你有这些数据,所以只要进行实验,看看什么效果最好?另外,你们有并没有弄明白这一点?从技术上讲,你们可以使用
keras.applications
来修改网络。我已经制作了一个使用imagenet权重的ResNet50的最小工作示例(修改内容:第1个conv名称:“conv1\u NEW”,model.load\u权重(权重路径,by\u name=True))。链接: