繁体   English   中英

CoreML 模型:将 imageType 模型输入转换为 multiArray

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM