如何使 2 个版本的 Fasttext Python 包装器一起工作?
How to make 2 versions of Fasttext Python wrapper work together?
我们使用 Facebook 的 Fasttext 令人惊叹的库已有一段时间了。我们使用 python 包装器(https://pypi.org/project/fasttext/). It used to be a third-party library, but is now maintained by Facebook and was merged to their repository。
访问经过训练的模型
问题是两个包装器不兼容。旧的通过 import fasttext
(小写)导入,新的通过 import fastText
导入。 API 也有些不同。但最重要的是,新库不支持旧版本 Fasttext 训练的模型,而旧版本支持它们,但不支持新训练的模型。
我们计划将所有模型迁移到新的 Fasttext 版本(它具有量化功能并且据说速度更快),但是我们需要时间来支持这两种类型的模型。所以我们需要两个包装器并排工作。
将它们安装在一起的问题在于,尽管模块名称不同,但它们会尝试通过 pip (fasttext
) 安装在相同的目录中。所以其中一个会覆盖另一个。
如何让他们并肩工作?最好在同一个安装前缀目录中。
似乎唯一有效的方法就是这个安装顺序:
pip install git+https://github.com/facebookresearch/fastText.git
pip install -I fasttext
先安装新版本,再安装旧版本。 -I
标志告诉 pip 重新安装包,即使它们已经安装。否则 pip 会找到新版本并且不想安装旧版本(即使它们实际上安装到不同的目录)。在此之后,两个版本似乎愉快地共存:
python -c "import fasttext; print fasttext.__file__"
local/lib/python2.7/site-packages/fasttext/__init__.pyc
python -c "import fastText; print fastText.__file__"
local/lib/python2.7/site-packages/fastText/__init__.pyc
跨平台最可靠的方法是全局安装一个,另一个作为用户安装:
pip install git+https://github.com/facebookresearch/fastText.git
pip install --user fasttext
我们使用 Facebook 的 Fasttext 令人惊叹的库已有一段时间了。我们使用 python 包装器(https://pypi.org/project/fasttext/). It used to be a third-party library, but is now maintained by Facebook and was merged to their repository。
访问经过训练的模型问题是两个包装器不兼容。旧的通过 import fasttext
(小写)导入,新的通过 import fastText
导入。 API 也有些不同。但最重要的是,新库不支持旧版本 Fasttext 训练的模型,而旧版本支持它们,但不支持新训练的模型。
我们计划将所有模型迁移到新的 Fasttext 版本(它具有量化功能并且据说速度更快),但是我们需要时间来支持这两种类型的模型。所以我们需要两个包装器并排工作。
将它们安装在一起的问题在于,尽管模块名称不同,但它们会尝试通过 pip (fasttext
) 安装在相同的目录中。所以其中一个会覆盖另一个。
如何让他们并肩工作?最好在同一个安装前缀目录中。
似乎唯一有效的方法就是这个安装顺序:
pip install git+https://github.com/facebookresearch/fastText.git
pip install -I fasttext
先安装新版本,再安装旧版本。 -I
标志告诉 pip 重新安装包,即使它们已经安装。否则 pip 会找到新版本并且不想安装旧版本(即使它们实际上安装到不同的目录)。在此之后,两个版本似乎愉快地共存:
python -c "import fasttext; print fasttext.__file__"
local/lib/python2.7/site-packages/fasttext/__init__.pyc
python -c "import fastText; print fastText.__file__"
local/lib/python2.7/site-packages/fastText/__init__.pyc
跨平台最可靠的方法是全局安装一个,另一个作为用户安装:
pip install git+https://github.com/facebookresearch/fastText.git
pip install --user fasttext