2016-11-17 353 views
2

我有一个训练有素的TfidfVectorizer,倾销joblib.dump。 它使用scikit-learn版本0.18在我的笔记本电脑上创建。当我试图把它放到我的服务器里安装的scikit学习0.18.1最新版本我就要警告下列要求:如何将分类器升级到最新版本的scikit-learn

/usr/local/lib/python2.7/dist-packages/sklearn/base.py:315: UserWarning: Trying to unpickle estimator TfidfTransformer from version 0.18 when using version 0.18.1. This might lead to breaking code or invalid results. Use at your own risk. 
    UserWarning) 
/usr/local/lib/python2.7/dist-packages/sklearn/base.py:315: UserWarning: Trying to unpickle estimator TfidfVectorizer from version 0.18 when using version 0.18.1. This might lead to breaking code or invalid results. Use at your own risk. 
    UserWarning) 

有没有我TfidfVectorizer升级到一种自然的方式防止任何问题?

我应该更好地卸载scikit-learn 0.18.1并将0.18版安装到服务器上吗?

+1

我不认为有移植工具。如果您想要安全,请尽可能使用相同版本或更高版本:升级和重新安装。如果您有一些时间,请检查版本之间的源代码更改,以便序列化您的分类器,并且可能会导致可能的后果。 – sascha

回答

2

是的,你应该在服务器上安装相同的版本时使用的发展,最好的做法是使用requirements.txt为您的项目的所有要求,并安装使用condavirtualenv您的服务器上一个新的环境,这将节省你手动设置这些东西的问题。

0

This链接为您提供有关如何升级的说明。

pip install -U scikit-learn 

上述命令应升级您当前版本的scikit到最新版本。根据你用tfidf向量化器做什么,你可能会遇到或可能没有问题;我会建议保持更新的新版本。所以,你最好确保你的服务器和计算机都运行最新的sci-kit。

+2

你甚至理解这个问题吗?请再读一遍。 – sascha

+1

谢谢,但它不能解决我的问题。 我已经训练了一个巨大的12Gb语料库上的tfidf矢量化器。我的整个项目都依赖于它,所以让它工作而不出错是至关重要的。我宁愿留在旧版的scikit-learn中,也不愿意用最新版本获得不可预测的结果。有没有链接如何指定要安装的版本? –

+1

@ArtemNepo检查python文档。这就像'''pip install scikit-learn = 0.18'''(删除后) – sascha