如何使用 yolo.h5 设置 coremltools 转换模型输出形状

How to setup coremltools convert model output shape using yolo.h5

我尝试将 h5 转换为 iOS mlModel

我按照快速入门通过此 link 获取 h5 文件。

https://github.com/qqwweee/keras-yolo3

然后,我使用coremltoolsh5转换为mlModel

这是我的代码

mlModel = coremltools.converters.keras.convert('./yoloDone.h5',
                                            input_names='image',
                                            image_input_names='image',
                                            input_name_shape_dict={'image': [None, 416, 416, 3]})

但我发现输出形状有些错误。

这是正确的输出。

这是我的输出,类型不一样。

正确的型号,output1是255x13x13。

但是我的模型,output1 是 1x1x255x13x13。

我应该如何编辑?

1x1x255x13x13 与 255x13x13 相同,只是你有 5 个维度而不是 3 个。

如果您希望 mlmodel 输出 255x13x13,则必须使用 coremltools 在 spec.description.output 中填写输出形状。