Spaces:
Runtime error
Runtime error
| Metadata-Version: 2.1 | |
| Name: faiss-cpu | |
| Version: 1.8.0 | |
| Summary: A library for efficient similarity search and clustering of dense vectors. | |
| Author-email: Kota Yamaguchi <[email protected]> | |
| License: MIT License | |
| Project-URL: Repository, https://github.com/kyamagu/faiss-wheels | |
| Keywords: faiss,similarity search,clustering,machine learning | |
| Classifier: Development Status :: 4 - Beta | |
| Classifier: Intended Audience :: Developers | |
| Classifier: Intended Audience :: Science/Research | |
| Classifier: License :: OSI Approved :: MIT License | |
| Classifier: Operating System :: MacOS :: MacOS X | |
| Classifier: Operating System :: Microsoft :: Windows | |
| Classifier: Operating System :: POSIX | |
| Classifier: Programming Language :: Python :: 3.8 | |
| Classifier: Programming Language :: Python :: 3.9 | |
| Classifier: Programming Language :: Python :: 3.10 | |
| Classifier: Programming Language :: Python :: 3.11 | |
| Classifier: Programming Language :: Python :: 3.12 | |
| Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence | |
| Requires-Python: >=3.8 | |
| Description-Content-Type: text/markdown | |
| License-File: LICENSE | |
| Requires-Dist: numpy | |
| # faiss-wheels | |
| [](https://github.com/kyamagu/faiss-wheels/actions/workflows/build.yml) | |
| [](https://pypi.org/project/faiss-cpu/) | |
| faiss python wheel packages. | |
| - [faiss](https://github.com/facebookresearch/faiss) | |
| ## Overview | |
| This repository provides scripts to build wheel packages for the | |
| [faiss](https://github.com/facebookresearch/faiss) library. | |
| - Builds CPU-only version with [cibuildwheel](https://github.com/pypa/cibuildwheel/). | |
| - Bundles OpenBLAS in Linux/Windows | |
| - Uses Accelerate framework in macOS | |
| There is also a source package to customize the build process. | |
| > **Note** | |
| > GPU package has been supported until version 1.7.2, but is not available since version 1.7.3 due to [the PyPI limitation](https://github.com/kyamagu/faiss-wheels/issues/57). | |
| ### Install | |
| Install a binary package by: | |
| ```bash | |
| pip install faiss-cpu | |
| ``` | |
| ## Building source package | |
| If there is a custom built faiss library in the system, build source package for | |
| the best performance. | |
| ### Prerequisite | |
| The source package assumes faiss is already built and installed in the system. | |
| Build and install the faiss library first. | |
| ```bash | |
| cd faiss | |
| cmake . -B build -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DFAISS_OPT_LEVEL=avx512 | |
| cmake --build build --config Release -j | |
| cmake --install build install | |
| cd .. | |
| ``` | |
| See the official | |
| [faiss installation instruction](https://github.com/facebookresearch/faiss/blob/master/INSTALL.md) | |
| for more on how to build and install faiss. | |
| For building sdist, swig 3.0.12 or later needs to be available. | |
| ### Building a source distribution | |
| The following builds and installs the faiss-cpu source package with AVX512. | |
| ```bash | |
| export FAISS_OPT_LEVEL=avx512 | |
| pip install --no-binary :all: faiss-cpu | |
| ``` | |
| The following example builds a GPU wheel. | |
| ```bash | |
| export FAISS_ENABLE_GPU=ON | |
| pip install --no-binary :all: faiss-cpu | |
| ``` | |
| There are a few environment variables that specifies build-time options. | |
| - `FAISS_INSTALL_PREFIX`: Specifies the install location of faiss library, default to `/usr/local`. | |
| - `FAISS_OPT_LEVEL`: Faiss SIMD optimization, one of `generic`, `avx2`, `avx512`. Note that AVX option is only available in x86_64 arch. | |
| - `FAISS_ENABLE_GPU`: Setting this variable to `ON` builds GPU wrappers. Set this variable if faiss is built with GPU support. | |
| - `CUDA_HOME`: Specifies CUDA install location for building GPU wrappers, default to `/usr/local/cuda`. | |