Keras ResNet50和VGG16用于具有2个通道的数据

Keras ResNet50和VGG16用于具有2个通道的数据,keras,deep-learning,neural-network,resnet,vgg-net,Keras,Deep Learning,Neural Network,Resnet,Vgg Net,在我的数据(光谱图)为(64256,2)形状的情况下,是否有任何方法可以尝试修改ResNet50和VGG16? 我知道我可以去掉一些层并修改它们(输出,密集),但我不确定输入通道 有人能建议一种在模型中容纳2个通道的方法吗?非常感谢您的帮助 您可以在输入中使用不同数量的通道(以及不同的高度和宽度),但在这种情况下,您不能使用预训练的imagenet权重。你必须从头开始训练。您可以按如下方式创建它们: from tensorflow import keras # or just import ke

在我的数据(光谱图)为(64256,2)形状的情况下,是否有任何方法可以尝试修改ResNet50和VGG16?
我知道我可以去掉一些层并修改它们(输出,密集),但我不确定输入通道


有人能建议一种在模型中容纳2个通道的方法吗?非常感谢您的帮助

您可以在输入中使用不同数量的通道(以及不同的高度和宽度),但在这种情况下,您不能使用预训练的imagenet权重。你必须从头开始训练。您可以按如下方式创建它们:

from tensorflow import keras # or just import keras

vggnet = keras.applications.vgg16.VGG16(input_shape=(64,256,2), include_top=False, weights=None)
resnet = keras.applications.resnet50.ResNet50(input_shape=(64, 256, 2), weights=None, include_top=False)
请注意
weights=None
参数。这意味着随机初始化权重。如果将通道数设置为
3
,则可以使用
weights='imagenet'
,但在您的情况下,您有2个通道,因此无法工作,必须将其设置为
None
include\u top=False
供您自己添加具有不同类别的最终分类层。您也可以用同样的方法创建
vgg19.vgg19
。对于ResNet,您可以类似地创建它,如下所示:

from tensorflow import keras # or just import keras

vggnet = keras.applications.vgg16.VGG16(input_shape=(64,256,2), include_top=False, weights=None)
resnet = keras.applications.resnet50.ResNet50(input_shape=(64, 256, 2), weights=None, include_top=False)

对于vgg和resnet的其他型号和版本,请检查

您想要合并这两个模型,或者您想要使用预训练模型+您的模型我想要修改预训练模型(两个单独),以适合我的2通道数据@谢谢你的帮助,我成功了!太糟糕了,我不能适应训练前的版本。。