Skip to content

Fisher87/pyfaiss_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyFaiss

NOTE:To use this package must ensure has installed faiss lib

Install

  • 使用该模块时,在项目的**[requirements.txt]**中添加 并使用命令行安装:

/usr/local/bin/pip install -r requirements.txt

  • 或者通过单独安装

Include

  • [train_index]

    训练faiss index 模块TrainIndex初始参数详解:

    class TrainIndex(kwargs):

    • files: (type list) 文档向量文件列表,注意:不是文件名,而是文档向量的绝对路径.
    • vpath: 文档向量读取路径,读取的数据应满足一定的前缀或者后缀规则(prefix, suffix).
    • prefix:文档向量文件名前缀,如 vector_**.
    • suffix:文档向量文件名后缀,如 **_vector.
    • dpath: index训练结果存储路径.
    • iname: index训练结果存储名称,默认为(index.index).
    • direct: 实例化TrainIndex时,直接使用默认提取的向量文件进行训练生成index,并返回.
    • fpath: 安装faiss 产生的编译文件(faiss.py, swigfaiss.py, _swigfaiss.so)存储路径,该模块运行必须导入这些相关文件.
  • [faiss_search]

    class FaissSearch(kwargs) 两种传入方式,1. 直接传入index; 2. 传入index存储路径:

    • index:直接传入index文件;
    • ipath:读取index的路径(包含index的文件名,如:/home/xxx/x/x.index);
    • fpath:安装faiss 产生的编译文件(faiss.py, swigfaiss.py, _swigfaiss.so)存储路径,该模块运行必须导入这些相关文件.

    faiss搜索相关接口

    • add():
    • add_one():
    • search():
    • search_many():

Basic Usage

>>> from pyfaiss.train_index import TrainIndex
>>> vpath = u'/home/user/'
>>> prefix= u'vector_'
>>> fpath = '/home/user/'
>>> trainer = TrainIndex(vpath=vpath, prefix=prefix, fpath=fpath)
>>> files = trainer.files[:2]
>>> print files
>>> index = trainer.train(files)
>>> print index.ntotal
211897

Faiss install by Docker

# build conda3 image
docker build -f=Dockerfile.conda -t conda3:1.0 .

# build faiss image
docker build -f=Dockerfile.faiss -t conda-faiss:1.0 .

About

Facebook faiss相关的python接口

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages