标签: annoy

如何在python中使用spotify的annoy库?

我想知道 annoy 库是如何工作的。我从 github 得到了这个测试代码,但我是编码新手,所以我很难理解 .

from annoy import AnnoyIndex
import random
f = 40

t = AnnoyIndex(f, 'angular')  #Length of item vector that will be indexed
for i in range(1000):
    v = [random.gauss(0, 1) for z in range(f)]
    t.add_item(i, v)

t.build(10) # 10 trees
t.save('test.ann')

u = AnnoyIndex(f, 'angular')
u.load('test.ann') # super fast, will just mmap the file
print(u.get_nns_by_item(0, 1000)) # will find the 1000 nearest neighbors
Run Code Online (Sandbox Code Playgroud)

computer-vision python-3.x annoy

12
推荐指数
1
解决办法
5423
查看次数

在 Annoy 库中使用 mmap() 在 Docker 容器之间共享 RAM

我正在使用使用mmap() 的Annoy 库将一些多 Gb 文件加载到 RAM 内存中。使用 mmap() 的目标是在内存中只加载一次文件,即使不同的进程需要它。

使用 docker,我计划使用在同一主机上执行相同脚本的多个容器进行扩展。但是多 Gb 文件只能在 RAM 中加载一次(这就是我们使用 mmap() 的原因),否则我的服务器会爆炸。

多 Gb 文件位于安装在我的容器上的卷中。

但是我仍然需要找到一种在容器之间共享 RAM 的方法,以便我获得 mmap() 的优势。

我找到了这篇关于在 docker 中使用 --ipc 标签的文章,但我不知道它是否适用于我的情况以及如何实现它。欢迎任何帮助。

linux ram mmap docker annoy

5
推荐指数
1
解决办法
1476
查看次数

标签 统计

annoy ×2

computer-vision ×1

docker ×1

linux ×1

mmap ×1

python-3.x ×1

ram ×1