我有一个训练有素的TfidfVectorizer转储http://www.jeffgeerling.com/blog/2016/streaming-php-disabling-output-buffering-php-apache-nginx-and-varnish。 它是在我的笔记本电脑上使用scikit-learn版本0.18创建的。当我试图将它放到我安装了最新版scikit-learn 0.18.1的服务器时,我收到以下警告:
FastCgiExternalServer
有没有一种自然的方法来升级我的TfidfVectorizer以防止出现任何问题?
我应该更好地卸载scikit-learn 0.18.1并将版本0.18安装到服务器上吗?
答案 0 :(得分:6)
是的,您应该在服务器上安装与开发时相同的版本,最佳做法是使用requirements.txt
来满足项目的所有要求,并使用{{1}在服务器上安装新环境}或conda
,这将为您节省手动设置此内容的问题。
答案 1 :(得分:0)
This链接为您提供有关如何升级的说明。
pip install -U scikit-learn
上面的命令应该将当前版本的scikit升级到最新版本。根据您使用tfidf矢量化器所做的事情,您可能会或可能不会遇到问题;我建议保持更新新版本。因此,最好确保您的服务器和计算机都运行最新的sci-kit。
答案 2 :(得分:0)
首先应该将sklearn更新到最新版本,然后再用joblib.load加载已腌制的对象,然后再用joblib.dump进行转储,从而可以解决此问题。完成此操作后,我将不再收到警告。
答案 3 :(得分:0)
只需卸载并重新安装最新的Scikit(或升级到最新版本)。 然后再次训练模型,这将生成一个新的joblib模型。这肯定会工作。