【问题标题】:input shape of convolutional neural network in keraskeras中卷积神经网络的输入形状
【发布时间】:2019-09-09 18:51:00
【问题描述】:

我正在尝试使用 cnn 构建图像分类器。我的图像大小为 (256,256) 像素。

如果我通过将输入形状设置为 (64,64) 或 (128,128) 来训练 cnn 会发生什么,因为 (256,256) 将花费大量时间来处理?

【问题讨论】:

    标签: python keras classification conv-neural-network


    【解决方案1】:

    它会抛出一个错误。您可以使用 cv2.resize() 调整图像大小,也可以将正确的输入形状放在 cnn 层中,然后放置一个 maxpooling 层以减少参数数量。

    【讨论】:

    • 不,它正在工作并显示结果,所以我很困惑,如果我们减小原始尺寸,内部会发生什么。
    • 不,它没有抛出错误并且它有效。我很困惑这是否会降低准确性?
    【解决方案2】:

    确保您的图像大小与您的Input 层所期望的大小相同。一般来说,分类架构对输入的空间维度不灵活。所以,这很重要。否则会出现形状不匹配错误。

    如果您想更改模型的输入形状,可以这样做。很难确切地说它将如何影响您的分类。您可能还必须调整您的 CNN 过滤器,以使过滤器不大于您的特征图。否则可能会降低你的表现。但您可以尝试一下,看看会发生什么。

    【讨论】:

    • 我认为缩小的输入形状会在图像的较小部分中获取信息。是真的吗??
    • 没有。这不是它的工作原理。网络仍会查看您输入的整个图像。对于不同的输入,它可以查看不同尺度的特征。这对预测可能是好是坏,具体取决于您的问题和数据集。
    • 我不知道您的数据或网络看起来如何。所以很难提出更具体的建议。当您提出问题时,请尝试在您的帖子中添加更多详细信息。
    猜你喜欢
    • 2018-01-24
    • 2017-07-30
    • 2017-08-31
    • 2020-05-26
    • 2018-06-16
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    相关资源
    最近更新 更多