小白安装faiss库指南(CPU版)
一、原由
本人在参加Datawhale组织的11月组队学习《推荐系统入门实践:新闻推荐预测》时,在多路召回任务时,需要导入一个叫faiss库,于是百度查询了各种方法,把pip和conda更新了个遍,还是导入成功,直到在群里问的时候才发现,faiss库压根就不支持windows平台,需要在linux下才能导入成功,于是本人抱着顺便学习linux的心态(因为之前看到公司招人要求有写要会linux,而且加上群里大佬说linux是深度学习首选),在从零开始的情况下,先下载好了虚拟机,然后下载了ubuntu(linux系统的一种),再在ubuntu中安装pycharm,anaconda。最后成功将faiss安装成功,在其中遇到了不少问题,希望通过这边文章给大家指引方向,顺便排雷。
二、faiss介绍
Faiss是Facebook AI团队开源的针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是目前最为成熟的近似近邻搜索库。它包含多种搜索任意大小向量集(备注:向量集大小由RAM内存决定)的算法,以及用于算法评估和参数调整的支持代码。Faiss用C++编写,并提供与Numpy完美衔接的Python接口。除此以外,对一些核心算法提供了GPU实现。
通过Faiss文档介绍可以了解faiss的主要功能就是相似度搜索。如下图所示,以图片搜索为例,所谓相似度搜索,便是在给定的一堆图片中,寻找出我指定的目标最像的K张图片,也简称为KNN(K近邻)问题。
在推荐系统中,faiss库可以用于搜索用户和物品的相似度。
三、虚拟机安装
首先如果要安装liunx系统的话,最方便的方法应该就是安装虚拟机,虚拟机就是在你自身的windows基础上安装另一层操作系统,但是不好的地方就是会占用你自身windows的内存,而且虚拟机一般只拥有本机的一点内存,所以如果用虚拟机操作的话可能会很慢,很卡。还要另一种方法就是安装一个和windows并行的系统,这样每次开机前就会让你选择是windows或者是linux。我这次用的就是虚拟机安装linux,分配了2G的内存,非常卡,所以正在考虑采用第二种方法。
说到虚拟机安装,不得不想到的就是大名顶顶的虚拟机软件VMware workstations 。
就是这个,就算是没用过虚拟机,在学校的机房也不会陌生这个图标,V