gpt4 book ai didi

python - 更改 Keras 中的输入大小

转载 作者:太空宇宙 更新时间:2023-11-03 14:00:19 25 4
gpt4 key购买 nike

我用 Keras 训练了一个全卷积神经网络。我使用了 Functional API 并将输入层定义为 Input(shape=(128,128,3)),对应于我训练集中图像的大小。

但是,我想在可变 大小的图像上使用经过训练的模型(这应该没问题,因为网络是完全卷积的)。为此,我需要将输入层更改为 Input(shape=(None,None,3))。解决问题的明显方法是直接使用 (None,None,3) 的输入形状训练我的模型,但我使用自定义损失函数,我需要在其中指定我的大小训练图像。

我尝试定义一个新的输入层并将其分配给我的模型,如下所示:

from keras.engine import InputLayer

input_layer = InputLayer(input_shape=(None, None, 3), name="input")
model.layers[0] = input_layer

这实际上相应地改变了输入层的大小,但后面的层仍然需要 (128,128,filters) 输入。

有没有办法一次更改所有输入值?

最佳答案

创建一个新模型,完全一样,除了新的输入形状;和转移权重:

newModel.set_weights(oldModel.get_weights())

如果出现任何问题,则它可能不是完全卷积的(例如:包含 Flatten 层)。

关于python - 更改 Keras 中的输入大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50063237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com