报错原因:
原始版本的scikit-learn == 0.19.2,新版本为scikit-learn == 0.23.2。
sklearn.externals.joblib函数是用在0.21及以前的版本中,在最新的版本中,该函数应被弃用。
所以引入from sklearn.externals import joblib库时,出现ImportError: cannot import name 'joblib’错误。
解决方法:
高版本直接import joblib 导入即可
低版本预测代码:
from sklearn.externals import joblib
estimator48 = joblib.load(r'./face48_cluster.pkl')
test = [[128,128,128]]
result = estimator48.predict(test)[0]
print('fancp:',result)
模型转换过程:
from sklearn.externals import joblib as job1
import joblib
estimator48 = job1.load(r'./face48_cluster.pkl')
# 保存训练好的模型
joblib.dump(filename='Kmeans.model',value=estimator48)
新版本预测代码:
import joblib
model1 = joblib.load(filename="Kmeans.model")
test = [[128,128,128]]
result = model1.predict(test)[0]
print('fancp:',result)
结论:
依然出现问题: AttributeError: ‘KMeans’ object has no attribute ‘_n_threads’
未解决,除非更换sklearn版本
模型只能重新训练了。