coremltools icon indicating copy to clipboard operation
coremltools copied to clipboard

Invalid mlmodel from SKLearn KN Neighbors conversion

Open triztian opened this issue 3 years ago • 5 comments

The *.mlmodel produced by converting from a KNeighborsClassifier is invalid. I encountered it with a custom data set but it's reproducible with SKLearn's Wine Dataset. I encountered the issue when running the script in Google Colab.

Trace

coremlc: warning: unable to read document: /Users/tristian/Downloads/KNN.mlmodel
detail: validator error: Pipeline: the input '__feature_vector__' of model 'CoreML.Specification.ModelDescription' does not match the type previously specified by the pipeline input or the output of a previous model. For the second case, make sure the input and previous model's output has the matching name and shapes.

coremlc: error: Error reading protobuf spec. validator error: Pipeline: the input '__feature_vector__' of model 'CoreML.Specification.ModelDescription' does not match the type previously specified by the pipeline input or the output of a previous model. For the second case, make sure the input and previous model's output has the matching name and shapes.

To Reproduce

Setup the env:

pyenv install 3.6.9
pyenv global 3.6.9

mkdir coremltools-issue && cd coremltools-issue
pip install virtualenv

virtualenv venv
source ./venv/bin/activate

# Here I downloaded and built LLVM 10.0.1 prior to the install
export LLVM_CONFIG=../llvm-project-10.0.1/build/bin/llvm-config 
pip install numpy scipy pandas

unset LLVM_CONFIG
pip install scikit-learn==0.19.2 keras==2.2.4 coremltools==4.0

Then after running the script below the KNN.mlmodel won't be valid when opened with Xcode 12.1

import sys
import pandas as pd
import numpy as np

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

import coremltools
from coremltools.converters import sklearn

print("Python", sys.version)
print("Pandas", pd.__version__)
print("Numpy", np.__version__)
print("CoreMLTools", coremltools.__version__)

"""# Create KN-Neighbors Model"""

wine = datasets.load_wine()
X_train, X_test, y_train, y_test = train_test_split(wine.data, wine.target, test_size=0.3)

print("X Features", wine.data.shape, wine.feature_names)
print("Y Features", wine.target.shape, wine.target_names)

knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)

"""## Convert Model"""

coreml_model = sklearn.convert(knn, wine.feature_names, "class")
coreml_model.save("KNN.mlmodel")

This is the base64 encoded KNN.mlmodel:

Base64 Data
CAESiAMKDQoHYWxjb2hvbBoCEgAKEAoKbWFsaWNfYWNpZBoCEgAKCQoDYXNoGgISAAoXChFhbGNhbGluaXR5X29mX2FzaBoCEgAKDwoJbWFnbmVzaXVtGgISAAoTCg10b3RhbF9waGVub2xzGgISAAoQCgpmbGF2YW5vaWRzGgISAAoaChRub25mbGF2YW5vaWRfcGhlbm9scxoCEgAKFQoPcHJvYW50aG9jeWFuaW5zGgISAAoVCg9jb2xvcl9pbnRlbnNpdHkaAhIACgkKA2h1ZRoCEgAKIgocb2QyODAvb2QzMTVfb2ZfZGlsdXRlZF93aW5lcxoCEgAKDQoHcHJvbGluZRoCEgBSCwoFY2xhc3MaAgoAWgVjbGFzc6IGbKIGOwojY29tLmdpdGh1Yi5hcHBsZS5jb3JlbWx0b29scy5zb3VyY2USFHNjaWtpdC1sZWFybj09MC4xOS4yogYrCiRjb20uZ2l0aHViLmFwcGxlLmNvcmVtbHRvb2xzLnZlcnNpb24SAzQuMMIMmzwKmDwKmgQIARKmAgoNCgdhbGNvaG9sGgISAAoQCgptYWxpY19hY2lkGgISAAoJCgNhc2gaAhIAChcKEWFsY2FsaW5pdHlfb2ZfYXNoGgISAAoPCgltYWduZXNpdW0aAhIAChMKDXRvdGFsX3BoZW5vbHMaAhIAChAKCmZsYXZhbm9pZHMaAhIAChoKFG5vbmZsYXZhbm9pZF9waGVub2xzGgISAAoVCg9wcm9hbnRob2N5YW5pbnMaAhIAChUKD2NvbG9yX2ludGVuc2l0eRoCEgAKCQoDaHVlGgISAAoiChxvZDI4MC9vZDMxNV9vZl9kaWx1dGVkX3dpbmVzGgISAAoNCgdwcm9saW5lGgISAFIfChJfX2ZlYXR1cmVfdmVjdG9yX18aCSoHCgENEMCABNIl6wEKCwoHYWxjb2hvbBABCg4KCm1hbGljX2FjaWQQAQoHCgNhc2gQAQoVChFhbGNhbGluaXR5X29mX2FzaBABCg0KCW1hZ25lc2l1bRABChEKDXRvdGFsX3BoZW5vbHMQAQoOCgpmbGF2YW5vaWRzEAEKGAoUbm9uZmxhdmFub2lkX3BoZW5vbHMQAQoTCg9wcm9hbnRob2N5YW5pbnMQAQoTCg9jb2xvcl9pbnRlbnNpdHkQAQoHCgNodWUQAQog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

Decode like so (on macOS) after copying to clipboard:

pbpaste | base64 -d -i - > KNN.mlmodel

System environment (please complete the following information):

  • CoreMLTools: 4.0
  • macOS version: 10.15.7 Catalina
  • XCode version: 12.1
  • How you install python (anaconda, virtualenv, system):
  • I installed python 3.6.9 using pyenv

triztian avatar Dec 02 '20 10:12 triztian

An internal bug has been created to track this issue. Updates will be posted here when available.

Mstronach avatar Feb 03 '21 19:02 Mstronach

Also having a similar issue. Have there been any updates or workarounds?

gkoutsos9 avatar Feb 16 '21 21:02 gkoutsos9

Have you solved this problem? I have the same problem

bluepixeltech avatar Nov 16 '21 23:11 bluepixeltech

has this been fixed/workaround found? Running into this issue with 7.0b1 and 6.3.0

robwhitewick avatar Aug 11 '23 14:08 robwhitewick

Did you find a solution to this problem?

FLMP13 avatar May 21 '24 15:05 FLMP13