swift CoreML输出图像大小与模型预测输出图像大小不同

aij0ehis  于 2022-11-21  发布在  Swift
关注(0)|答案(1)|浏览(170)

我尝试将现有的MLModelhttps://drive.google.com/file/d/16JEWh48fgQc8az7avROePOd-PYda0Yi2/view?usp=sharing)输出大小从2048 x2048(现有输出大小)更改为1024 x1024。
我使用此脚本更改输出图像大小:

spec = ct.utils.load_spec("myModel.mlmodel")
output = spec.description.output[0]
output.type.imageType.height = 1024
output.type.imageType.width = 1024
ct.utils.save_spec(spec, "myModelNew.mlmodel")

新模型将正确保存,并在预测选项卡中显示预期的输出大小:

**但是,当我使用新模型运行它时,它会像原始模型一样生成2048 x2048。

知道为什么会这样吗?谢谢你的帮助!**

oknwwptz

oknwwptz1#

Core ML不会根据您提供的尺寸自动调整输出大小。这些尺寸只是告诉模型的用户需要什么。对于这个特定的模型,输出大小实际上是2048x2048,而不是1024x1024。
模型的输出大小由其架构决定。如果您想要1024x1024的输出,您可能需要从架构中移除某些图层。或者您可以在模型的末端新增缩减采样图层,将2048x2048转换为1024x1024。
您所做的是更改模型 * 描述 *,但您需要做的是更改模型本身。

相关问题