【发布时间】:2018-02-17 02:02:00
【问题描述】:
我在 Keras 中使用 Input_shape(256,256,4) 训练了一个 CNN 模型。但是我想将输入大小更改为(512,512,4),以减少测试大图像时的测试时间。
我手动更改 .json 文件中的输入形状,并使用
model = model_from_json(json file)
,然后使用
model=load_weights(weights file)
我得到了错误:
ValueError: 检查时出错:预期 input_9 的形状为 (None, 512, 512, 4),但得到的数组的形状为 (1, 256, 256, 4)
我使用了两种不同类型的权重文件,一种由Modelcheckpoint() 保存,一种由model.save_weights() 保存。但是错误也出现了。
有人可以帮助我吗?提前致谢。
【问题讨论】:
-
你保存的模型基本上是Input_shape(256,256,4),所以在测试时你必须保持大小不变。
-
您可以制作一个接受可变大小输入的模型,但在某些情况下这是不可能的。你的模特看起来怎么样?
-
只有具有特定配置的全卷积网络(例如没有 BN)才能转换为接受可变大小的图像。
-
什么是BN? (但是是的,这是真的,只有完全卷积的模型才能处理可变大小的输入)。
-
但是通过错误信息中的文字,他们成功更改了尺寸,但尝试使用小图像。
标签: machine-learning keras conv-neural-network