Ошибка использования модели CoreML для классификации изображения

Я пытаюсь использовать инструменты CoreML для преобразования модели Keras в coreml, и у меня возникла ошибка в прогнозировании. Сначала я преобразовал модель:

coreml_model = coremltools.converters.keras.convert(  
    model,  
    input_names='stampImage',    # Inform CoreML the input name  
    image_input_names = 'stampImage', # Inform CoreML the input for images  
    output_names='prediction',  
    class_labels = class_labels, # From labels_dict  
    predicted_feature_name='predicted_feature_name',  
    is_bgr=True) 
coreml_model.save('./trained_models_data/stamps' + version + '.mlmodel') 

Преобразование работает нормально. Затем я загрузил модель:

model =  coremltools.models.MLModel('./trained_models_data/stamps' + version + '.mlmodel')  

И изображение:

from PIL import Image  
image = Image.open('C1243_LND_899FA3F6-B703-4724-9701-F11DAD7CEDFE.jpg') 

Но когда я попытался предсказать:

model.predict({'stampImage': image})  

Я получил ошибку:

Error: value type not convertible:  
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=714x714 at 0x1127425A8>  
---------------------------------------------------------------------------  
RuntimeError                              Traceback (most recent call last)  
<ipython-input-21-82fd85392a7f> in <module>()  
----> 1 model.predict({'stampImage': image})  


/anaconda/envs/coremltools_py2/lib/python2.7/site-packages/coremltools/models/model.pyc in predict(self, data, **kwargs)  
    236         """  
    237         if self.__proxy__:  
--> 238             return self.__proxy__.predict(data)  
    239         else:  
    240             if _sys.platform != 'darwin' or float('.'.join(_platform.mac_ver()[0].split('.')[:2])) < 10.13:  


RuntimeError: value type not convertible  

Я пытался выполнить шаги из сеанса "Core ML in deep" в WWDC... Кто-нибудь знает, что не так?

1 ответ

Вы должны загрузить свою конвертированную модель с CoreML на стороне iOS. За python используйте модель перед конвертацией.

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