【问题标题】:Flatten() Layer in Keras with variable input shapeKeras 中具有可变输入形状的 Flatten() 层
【发布时间】:2019-01-24 12:46:43
【问题描述】:

我正在使用在 Keras 中实现的 CNN,它在某些时候有一个扁平层。现在,我的目标是允许输入不同形状的图像。所以我的第一个转化。层看起来像:

model.add(Conv2D(...., input_shape=(None, None, 1))

在这个设置中,我的扁平层变得不开心,并告诉我指定输入形状。因此,我目前正在使用 GlobalMaxPooling 层,我想避免这种情况。

毕竟,flatten 层为什么要关心宽度和高度呢?

背景:我尝试训练一个用于分类的网络(较小的分辨率),然后使用此网络进行对象检测(较高的分辨率)

谢谢

【问题讨论】:

  • 能否给出错误说明?

标签: python tensorflow keras


【解决方案1】:

它对形状很麻烦,因为您可能希望将另一层连接到它。

并且它的特征维度将是下一层创建自己的权重的基础。一个层不能有可变大小的权重矩阵,因此,它不能有可变大小的特征输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-29
    • 2018-02-27
    • 2017-05-25
    • 1970-01-01
    • 2021-07-15
    • 2019-04-01
    • 2021-05-20
    • 1970-01-01
    相关资源
    最近更新 更多