高版本Scikit-learn不支持coremltools导出模型的问题
以前写的scikit-learn项目,需要使用coremltools导出Core ML模型在iOS App用,最近换了台电脑跑,出现了警告提示:
WARNING:root:scikit-learn version 1.0.2 is not supported. Minimum required version: 0.17. Maximum required version: 0.19.2. Disabling scikit-learn conversion API.
最后跑出来的模型也没有成功导出Core ML模型,提示的错误是:
1 | coreml_model = coremltools.converters.sklearn.convert(model, 'message', 'predict') |
这是因为coremltools不支持高版本的scikit-learn造成的,默认安装的scikit-learn是1.0.2版本,coremltools并不支持导出。重新安装低版本的scikit-learn就行了:
1 | pip install 'scikit-learn==0.19.2' |
安装scikit-learn的0.17到0.19.2的版本应该都可以。建议安装最高的支持版本0.19.2。
因为我用的是M1版的Mac Mini,scikit-learn 0.19.2版本并不支持M1芯片,要使用Rosetta2转译也很麻烦,懒得折腾,我就直接拿去服务器跑了。换个思路海阔天空,没必要花太多的时间在研究怎么适配一些开发环境的兼容性问题上,特别是独立开发者,时间应该花在更重要的事情上。当然,如果时间特别多,或者没有可以其他可以用的设备,就必须花时间解决了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 plusye的博客!
评论