Faiss源码编译选项比较复杂,但常用的也就那么几个,不常用的采用默认值就好,用到时再根据需要进行设置。
以下shell脚本是一个示例供参考:
#! /bin/bash
set -e
mkdir -p build
cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DFAISS_ENABLE_C_API=ON \
-DFAISS_OPT_LEVEL=avx2 \
-DFAISS_ENABLE_GPU=OFF \
-DBUILD_TESTING=OFF \
-DPython_EXECUTABLE=/usr/bin/python3 \
-DFAISS_ENABLE_PYTHON=ON
make -C build faiss swigfaiss 2-IVFFlat 3-IVFPQ -j128
echo "python is on"
cd build/faiss/python && sudo python3 setup.py install
cd /usr/local/lib/python3.*/dist-packages
sudo rm -rf faiss
sudo rm -rf EGG-INFO