[英]ios / CoreML - The input type is MultiArray when keras model is converted to CoreML
[英]CoreML model: Convert imageType model input to multiArray
使用 PyTorch,我训练了一个简单的多类分类器,我想将其转换为CoreML
模型格式。 它已转换,但有一个问题。
我已经进行了非常详尽的搜索,但与 mlmodel 的输入有关的最常见问题只是关于如何将 mlmodel 的输入格式从MLMultiArray 更改为 UIImage因为它们必须处理图像。 但是,如果我的模型需要 UIImage 作为输入,而我有多数组类型的数据,我该如何更改模型的输入以使其需要多数组数据?
转换后我得到的模型输入规范:
input {
name: "input"
type {
imageType {
width: 3
height: 150
colorSpace: GRAYSCALE
}
}
}
我想要的模型输入规范:
input {
name: "input"
type {
multiArrayType {
shape: 3
shape: 1
shape: 150
dataType: DOUBLE
}
}
}
任何帮助将不胜感激。 谢谢!
通常,当您转换模型时,您会得到一个 MLMultiArray,除非您指定要将其作为图像。 不确定您是如何转换模型的,但您可能会说您不希望输入是图像(即不要为转换器指定image_input_names
参数)。
如果您无权访问原始模型,您可以更改 mlmodel 文件执行以下操作(可能有错别字):
import coremltools
mlmodel = coremltools.models.MLModel("YourModel.mlmodel")
spec = mlmodel._spec
spec.description.input[0].type.multiArrayType.shape.extend([3, 1, 150])
coremltools.util.save_spec(spec, "YourNewModel.mlmodel")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.