coremltools
coremltools copied to clipboard
Invalid mlmodel from SKLearn KN Neighbors conversion
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
An internal bug has been created to track this issue. Updates will be posted here when available.
Also having a similar issue. Have there been any updates or workarounds?
Have you solved this problem? I have the same problem
has this been fixed/workaround found? Running into this issue with 7.0b1 and 6.3.0
Did you find a solution to this problem?