问题标签 [faiss]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4111 浏览

pip - 在 Google Colaboratory 上安装 faiss

我尝试按照MUSE 项目的说明进行操作。

他们需要 PyTorch 和 Faiss。PyTorch 易于安装。但我发现安装Faiss有问题。

MUSE 上的说明告诉我使用

但是 Google Colab 不支持conda(当我尝试!pip install conda时,它不起作用)

当我也一样时,Faiss 也没有工作!pip install faiss

有没有办法安装 Faiss 或 conda?

0 投票
1 回答
1911 浏览

python - 在 Lambda Stack 上安装 Faiss

我想在 Lambda Stack 上安装 Faiss-GPU,conda install -c pytorch faiss-gpu但没有安装 conda。

我尝试了这里提到的解决方案:使用此版本的 faiss https://anaconda.org/pytorch/faiss-gpu/1.6.0/download/linux-64/faiss-gpu-1.6.0-py36h1a5d453_0在 Google Colaboratory 上安装 faiss .tar.bz2但它说:

在 Lambda Stack 上安装 Faiss 的正确方法是什么?

0 投票
2 回答
5679 浏览

python - faiss 错误:找不到满足要求 faiss 的版本(来自版本:无)

运行安装时:

我收到此错误:

当我使用 conda 时:

我收到此错误:

0 投票
0 回答
336 浏览

python - Faiss:如何创建大小为 1024 的 10M 向量的索引

我想创建一个大小为 1024 的近 10M 向量的索引。这是我使用的代码。

该代码适用于少量向量。但是当向量的数量大约为 2M 时,内存限制就会超过。我使用index.add()而不是将向量附加到列表(向量 = [])。但它也没有奏效。

我想知道如何为大量向量创建索引。

0 投票
1 回答
209 浏览

k-means - k-mean 聚类 - 惯性只会变大

我正在尝试在人体关节的人体姿势数据集上使用来自faiss的 KMeans 聚类。我有 16 个身体部位,因此尺寸为 32。关节的缩放范围在 0 到 1 之间。我的数据集包含约 900.000 个实例。正如 faiss ( faiss_FAQ ) 所述:

根据经验,k-means 量化器在 20 次迭代和 1000 * k 个训练点之后没有一致的改进

将此应用于我的问题,我随机选择 50000 个实例进行训练。因为我想检查1 到 30 之间的集群k的数量。

现在到我的“问题”:

随着集群数量的增加,惯性直接增加(x轴上的n_cluster): 惯性

我尝试改变迭代次数、重做次数、详细和球形,但结果保持不变或变得更糟。我不认为这是我实施的问题;我在一个带有 2D 数据和非常清晰的集群的小示例上对其进行了测试,它确实有效。

是数据只是聚集不良还是我错过了另一个问题/错误?也许是 0 和 1 之间的值的缩放?我应该尝试另一种方法吗?

0 投票
0 回答
105 浏览

python - Facebook 库“faiss”的导入错误。它抛出 DLL 加载失败错误

Facebook 库“faiss”的导入错误。它抛出 DLL 加载失败错误

错误是:

ImportError:DLL 加载失败:找不到指定的模块。

谁能帮我这个?我已经安装了 pip install faiss-cpu 并且 python 版本是 3.7.9

它在colab中运行良好,但在本地电脑中却不行

0 投票
1 回答
40 浏览

python - 存储和检索图像特征的有效方法是什么?

我是计算机视觉的初学者,我的目标是为图像提取 K 近邻,我查看了 Annoy、Faiss、NMSLIB 算法并决定使用 Faiss 进行图像相似性。我有一个大数据集来检查最近的邻居。我目前正在使用 faiss.IndexFlatIP,因为它是一种蛮力方法,它以时间为代价提供了良好的结果。

问题

  1. 除了蛮力方法,还有其他方法可以做到这一点并取得良好的效果吗?
  2. 目前我正在使用 pickle 来保存提取的大特征,有没有其他方法可以有效地存储和检索这些特征?
  3. 我目前正在使用 SIFT 进行特征提取,CNN 模型是否会胜过这个?

任何帮助将不胜感激。

0 投票
0 回答
211 浏览

python - Faiss Kmeans图像聚类中的错误

我有一组大约 200 张图像,我想将它们聚集成具有相似特征的图像组。我正在使用 Resnet50 从图像中提取特征向量,并在 Faiss Kmeans 的帮助下尝试将它们聚类成组。

我已经为 Faiss KMeans 定义了一个类,如这里的链接所示

我将图像及其向量作为键值对存储在字典中。

我正在使用包“kneed”来确定集群的数量

现在我正在尝试使用 faiss Kmeans 将图像聚类到不同的组中,但我得到了AttributeError: 'Kmeans' object has no attribute 'fit'on的错误kmeans.fit(feat)

当我尝试使用kmeans.train(feat)链接上找到的内容时,出现错误AssertionError

0 投票
0 回答
222 浏览

python - 如何以增量方式将索引添加到 python FAISS

我正在使用 Faiss 来索引我的巨大数据集嵌入,嵌入从 bert 模型生成。我想逐步添加嵌入,如果我只用 faiss.IndexFlatL2 添加它就可以了,但问题是在保存它时它的大小太大了。所以我尝试使用 faiss.IndexIVFPQ,但它需要在添加数据之前训练嵌入,所以我不能增量添加它,我必须先计算所有嵌入然后训练并添加它,它有问题,因为所有数据应该保存在 RAM 中,直到我写下来。有没有办法逐步做到这一点。这是我的代码:

当与 IndexIVFPQ 一起使用时:

0 投票
1 回答
178 浏览

python - FAISS-GPU 不能与 GPU 版本 30xx 一起使用

我正在编写 Python 源代码并使用 Faiss。我可以在 CPU、20xx GPU 上使用 Faiss,例如:RTX 2080Ti,... 但是,当我在 RTX 3060、RTX 3070 等设备上运行时,系统会死机,我无法通过 Ctrl + C 杀死程序。这是我使用的源代码:https ://github.com/facebookresearch/faiss/blob/main/tutorial/python/5-Multiple-GPUs.py

如果有人遇到此错误并成功修复它,请与我分享如何解决。

操作系统:Ubuntu 20.04

Faiss版本:发布1.7.1

运行在:GPU + Python