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

时间:2020-08-19 12:56:10

标签: python-3.8 coremltools macos-big-sur

我有一个程序,需要使用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})

但随后返回:

  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";
}

1 个答案:

答案 0 :(得分:0)

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

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

但是当我打印模型时,我看到了

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

当我更改为:

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

一切正常。不知道还有什么会触发该错误,因为它看起来很普通且无济于事,所以也许它也可能是您其他参数中的错误。