为什么我不能在 Python 3 中将图像与 CoreMLTools 一起使用?

Why Can't I Use Images With CoreMLTools In Python 3?

我有一个程序,我需要使用 coremltools 来预测图像和图像,但是当我通过它输入图像时它不起作用。

我的代码是:

import coremltools
from PIL import Image

img=Image.open('/path/to/jpg/file.jpg')
model=coremltools.models.MLModel('/path/to/mlmodel/file.mlmodel')
model.predict({'d':img})

但后来 returns:

  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/coremltools/models/model.py", line 329, in predict
    return self.__proxy__.predict(data, useCPUOnly)
RuntimeError: {
    NSLocalizedDescription = "Predicted feature named 'classLabel' was not output by pipeline";
}

我刚遇到这个问题,对我来说,我没有访问没有传递正确的关键字。我的电话是

model.predict( {"img": img } )

但是打印模型的时候看到了这一段

input {
  name: "image"
  shortDescription: "Input image to be classified"
  ....
}

当我改为:

model.predict( {"image": img} )

一切正常。不确定还有什么可以触发错误,因为它看起来很普通且无用,所以它也可能是您其他参数中的错误。