【问题标题】:ResNet50 and VGG16 for data with 2 channelsResNet50 和 VGG16 用于 2 个通道的数据
【发布时间】:2023-03-22 08:21:01
【问题描述】:

有什么方法可以尝试修改 ResNet50 和 VGG16,其中我的数据(频谱图)的形状为 (64,256,2)?
我知道我可以取出一些层并修改它们(输出,密集),但我不确定输入通道。

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

【问题讨论】:

  • 你想结合两个模型或者你想使用预训练模型 + 你的模型
  • 我想修改预训练模型(两者分别)以适应我的 2 通道数据。 @JaiMahesh

标签: keras deep-learning neural-network resnet vgg-net


【解决方案1】:

您可以在输入中使用不同数量的通道(以及不同的高度和宽度),但在这种情况下,您不能使用预训练的 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 个频道,因此它不起作用,您必须将其设置为Noneinclude_top=False 可让您自己添加具有不同类别的最终分类层。你也可以用同样的方法创建vgg19.VGG19。对于 ResNet,您可以类似地创建它,如下所示:

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

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

【讨论】:

  • 感谢您的帮助,我成功了!太糟糕了,我无法适应预训练版本..
猜你喜欢
  • 2020-09-18
  • 1970-01-01
  • 2020-04-26
  • 2021-03-24
  • 2018-02-21
  • 2023-01-09
  • 2017-12-25
  • 2023-03-04
  • 2019-08-30
相关资源
最近更新 更多