小编Jan*_*aka的帖子

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

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

import numpy as np
import faiss  
import random                

f = 1024

vectors = []
no_of_vectors=10000000
for k in range(no_of_vectors):
    v = [random.gauss(0, 1) for z in range(f)]
    vectors.append(v)
        
np_vectors = np.array(vectors).astype('float32')

index = faiss.IndexFlatL2(f)  
index.add(np_vectors)                 

faiss.write_index(index, "faiss_index.index")
Run Code Online (Sandbox Code Playgroud)

该代码适用于少量向量。但是当向量数量在2M左右时就超出了内存限制。我使用index.add()而不是将向量附加到列表(向量=[])。但效果并不好。

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

python memory faiss

2
推荐指数
1
解决办法
2679
查看次数

标签 统计

faiss ×1

memory ×1

python ×1