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

ResNet50 and VGG16 for data with 2 channels

有什么方法可以尝试修改我的数据(频谱图)形状为 (64,256,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)

注意 weights=None 参数。这意味着随机初始化权重。如果您将频道数设置为 3,您可以使用 weights='imagenet',但在您的情况下,您有 2 个频道,因此它不起作用,您必须将其设置为 None ]. include_top=False 供您自己添加具有不同类别的最终分类层。您也可以用同样的方式创建 vgg19.VGG19。对于 ResNet,您可以类似地创建它,如下所示:

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

其他型号和版本的vgg和resnet请查看here