Faiss

From Alliance Doc
Jump to navigation Jump to search
This site replaces the former Compute Canada documentation site, and is now being managed by the Digital Research Alliance of Canada.

Ce site remplace l'ancien site de documentation de Calcul Canada et est maintenant géré par l'Alliance de recherche numérique du Canada.

This page is a translated version of the page Faiss and the translation is 100% complete.
Other languages:

Faiss est une bibliothèque efficace pour la recherche de similarités et le regroupement de vecteurs denses. Elle contient des algorithmes qui recherchent dans des ensembles de vecteurs de n'importe quelle taille, même ceux qui sont trop grands pour la mémoire vive. Elle contient également du code pour l'évaluation et le réglage des paramètres. Faiss est écrite en C++ avec des scripts enveloppants complets pour Python (versions 2 et 3). Certains des algorithmes les plus utiles sont implémentés sur GPU. Faiss est développée principalement par Meta AI Research avec l'aide de contributeurs externes.

Liaisons Python

Le module contient des liaisons pour plusieurs versions de Python. Pour connaître les versions disponibles, lancez

Question.png
[name@server ~]$ module spider faiss/X.Y.Z

ou allez directement à faiss-cpu avec

Question.png
[name@server ~]$ module spider faiss-cpu/X.Y.Z

X.Y.Z désigne la version voulue.

Utilisation

1. Chargez les modules requis.

Question.png
[name@server ~]$ module load StdEnv/2023 gcc cuda faiss/X.Y.Z python/3.11

X.Y.Z désigne la version choisie.

2. Importez Faiss.

Question.png
[name@server ~]$ python -c "import faiss"

Si la commande n'affiche rien, l'importation a réussi.

Paquets Python disponibles

Certains paquets Python dépendent des liaisons faiss-cpu ou faiss-gpu pour être installés. Le module faiss fournit

  • faiss
  • faiss-gpu
  • faiss-cpu
Question.png
[name@server ~]$ pip list | fgrep faiss
faiss-gpu                          1.7.4
faiss-cpu                          1.7.4
faiss                              1.7.4

Avec le module faiss chargé, les dépendances des extensions ci-dessus seront satisfaites.