以下为你介绍的机器学习/深度学习软件都可用在Linux系统上:Milvus(向量搜索引擎)、Annoy(求近似最近邻的库)、Vearch(分布式向量搜索系统)、sk-dist(PySpark中的分布式scikit-learn元估计器)。
1、Milvus(向量搜索引擎)
Milvus,为海量特征向量的近似最近邻搜索(ANNS)而设计。相比 Faiss 和 SPTAG 这样的算子库,Milvus 提供完整的向量数据更新,索引与查询框架。Milvus 利用 GPU(Nvidia)进行索引加速与查询加速,能大幅提高单机性能。
Milvus 向量搜索引擎可以广泛地和各种深度学习模型进行整合,简化 AI 应用落地的难度。
目前Milvus已经得到了头部机器视觉公司的技术认可。我们正在构建广泛的技术社区,诚邀有兴趣的AI开发者加入。
开发语言:C++,SDK:C++/Python/Java/RESTful API
体验Milvus:
感兴趣的开发者可以根据以下教程,在自己的 PC(16GB内存)上轻松实现 1 亿级向量(数据来自SIFT1billion)搜索。?
Milvus 在单机 10 亿向量(SIFT1B 数据集)上的性能也是表现出色的。
Milvus索引类型:
IVF:Faiss IVF,Milvus 团队自研 IVF。
Graph:Milvus 团队实现的 NSG 索引。
Tree & Graph:集成微软 SPTAG。
IVF & Graph:Milvus 团队实现中。
软件需求:
Ubuntu 18.04或更高版本。
CMake 3.14或更高。
CUDA 10.0或更高。
NVIDIA驱动程序418或更高版本。
构建:
步骤1、安装依赖项
$ cd [Milvus sourcecode path]/core
./ubuntu_build_deps.sh
步骤2、建立
$ cd [Milvus sourcecode path]/core
$ ./build.sh -t Debug
or?
$ ./build.sh -t Release
构建完成后,运行Milvus所需的所有内容都将安装在[Milvus root path]/core/milvus下。
启动Milvus服务器:
$ cd [Milvus root path]/core/milvus
将lib/目录添加到LD_LIBRARY_PATH:
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/milvus/lib
然后启动Milvus服务器:
$ cd scripts
$ ./start_server.sh
要停止Milvus服务器,请运行:
$ ./stop_server.sh
要在conf/server_config.yaml和conf/log_config.conf中编辑Milvus设置。
下载地址:https://github.com/milvus-io/milvus
2、Annoy(求近似最近邻的库)
Annoy 是 Spotify 开源的高维空间求近似最近邻的库,在 Spotify 使用它进行音乐推荐。最邻近搜索(Nearest Neighbor Search, NNS)又称为“最近点搜索”(Closest point search),是一个在尺度空间中寻找最近点的优化问题。
Annoy 能够使用静态文件作为索引,意味着可以跨进程共享索引。它还创建了大量的基于只读文件的数据结构,这些数据结构被嵌入内存中,以便许多进程可以共享相同的数据。Annoy 的另一个好处是它试图最小化内存占用,因此索引非常小。
特性:
清爽的大白距离, 曼哈顿距离, 余弦距离, 汉明距离或 点(内)积距离。
余弦距离等价于归一化向量的搞怪的睫毛距离=sqrt(2-2*cos(u,v)。
如果你的维度不多(比如
还没有评论,来说两句吧...