是否可以更改CoreML模型的输出类型?我的模型将图像作为输入和图像作为输出,但当我将我的Keras模型转换为ml模型时,我得到:
coreml_model = coremltools.converters.keras.convert('/Users/user/Desktop/model.h5',input_names='input_img',image_input_names='input_img',output_names='image')
coreml_model.save('/Users/user/Desktop/model.mlmodel')
输出是MultiArray类型,但我想要一个Image类型,我该如何更改?
答案 0 :(得分:0)
是的,有可能。但是,您之后需要手动更改转换后的Core ML模型,因为自{2.1版开始,coremltools
对此不提供任何转换选项。
简而言之,将模型转换为Core ML格式后,您需要执行以下操作。这些应该在Python端通过调用coremltools
的较低级API来完成。
coremltools
ActivationLinear
层。您还可以使用此层执行线性变换,例如将范围从0..1转换为0..255和/或添加偏差。type
属性,将该新图层配置为图像输出图层。要使第5步正常工作,您需要在Mac上运行Python脚本,因为它使用本机Core ML库来运行模型。
有关详细信息,您可以阅读我在getting Core ML to produce images as output上的帖子。