Почему я не могу использовать изображения с CoreMLTools в 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})

Но потом возвращается:

  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 ответ

Решение

Я только что столкнулся с этим, и для меня я не мог получить доступ, не передав правильное ключевое слово. Мой звонок был

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

Но когда я распечатал модель, я увидел этот раздел

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

Когда я перешел на:

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

все заработало. Не уверен, что еще могло вызвать ошибку, поскольку она казалась общей и бесполезной, поэтому, возможно, это также могла быть ошибка в других ваших параметрах.

Другие вопросы по тегам