首页 > 解决方案 > 改变训练好的卷积神经网络的输入形状是否合理

问题描述

我见过许多超分辨率网络,它们似乎暗示可以在 (x,y,d) 的输入上训练网络,然后将任意大小的图像传递到预测模型中,在 Keras 中example 使用占位符值 (None,None,3) 指定,并且将接受任何大小。

例如https://github.com/krasserm/super-resolution在 24x24x3 的输入上进行训练,但接受任意大小的图像进行调整,演示代码使用 124x118x3。

这是一个理智的做法吗?当给定较大的输入时,网络是否只是在其上滑动一个窗口,并应用与在较小尺寸图像上学到的相同的权重?

标签: inputkerasneural-networkgenerative-adversarial-network

解决方案


卷积绝对没有问题,它们将完全按照预期工作,具有相同的权重、相同的内核大小等。

唯一可能的问题是:模型可能没有学习到图像的新比例(因为它以前从未见过这个比例)并且可能会给你带来糟糕的结果。

另一方面,模型可以用多种尺寸/尺度进行训练,对变化变得更加稳健。


Flatten,Reshape等会有问题。
仅支持不同的大小GlobalMaxPooling2DGlobalAveragePooling2D


推荐阅读