📜  安装 hnswlib - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:53:31.288000             🧑  作者: Mango

安装 hnswlib - Shell-Bash

简介

hnswlib 是一个快速近似最近邻搜索(Approximate Nearest Neighbor, ANN)库,使用 C++ 实现并提供 Python 接口。它使用层次化的 k 路归约(Hierarchical Navigable Small World, HNSW)算法,在高维空间中快速搜索近似的最近邻。

在本文中,我们将介绍如何使用 Shell-Bash 在 Linux 系统上安装 hnswlib 并准备开发环境,以便在你的 Python 项目中使用 hnswlib。

步骤
安装依赖

首先,我们需要安装一些必要的依赖项。hnswlib 依赖以下软件包:

  • CMake: 用于构建 hnswlib
  • g++: 用于编译 hnswlib
  • Python: 用于编译 Python 接口

在终端中运行以下命令来安装这些依赖项:

sudo apt-get install cmake g++ python3-dev
下载并构建 hnswlib

我们将从 hnswlib 的 GitHub 仓库中下载源代码,并使用 CMake 构建库。在终端中运行以下命令:

git clone https://github.com/nmslib/hnswlib.git
cd hnswlib
cmake .
make

这将在当前目录下构建 hnswlib 库。

安装 hnswlib Python 接口

hnswlib 提供了一个 Python 接口,可以直接在你的 Python 项目中使用。要安装 Python 接口,使用以下命令:

cd python_bindings
pip install pybind11
python setup.py install
测试 hnswlib 安装

现在,我们已经完成 hnswlib 的安装。让我们测试一下安装是否成功。在 Python 终端中运行以下代码片段来验证安装:

import hnswlib

# 创建一个 HNSW 索引
index = hnswlib.Index(space='l2', dim=128)
index.init_index(max_elements=1000, ef_construction=200, M=16)

# 向索引中添加向量
data = [[0.1]*128, [0.2]*128, [0.3]*128]
labels = [0, 1, 2]
index.add_items(data, labels)

# 搜索最近邻
query = [0.4]*128
labels, distances = index.knn_query(query, k=5)

print('最近邻标签:', labels)
print('最近邻距离:', distances)

如果你能够在终端上看到正确的最近邻标签和距离输出,那么 hnswlib 安装成功。

结论

通过遵循本文中的步骤,你已经成功地在 Linux 系统上安装了 hnswlib,并准备好在 Python 项目中使用 hnswlib 进行近似最近邻搜索。现在你可以在自己的项目中开始使用 hnswlib 来提高搜索效率和性能。

以上是 hnswlib 的安装介绍,希望对你有所帮助!

注意:此文档提供的是使用 Shell-Bash 安装 hnswlib 的方法,如果你使用其他操作系统或环境,请参考 hnswlib 的官方文档获得更准确的安装说明。