ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

小白安装faiss库指南(CPU版)

2020-11-30 17:33:25  阅读:651  来源: 互联网

标签:虚拟机 ubuntu 小白 linux 安装 CPU 下载 faiss


小白安装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近邻)问题。

img

在推荐系统中,faiss库可以用于搜索用户和物品的相似度。

三、虚拟机安装

首先如果要安装liunx系统的话,最方便的方法应该就是安装虚拟机,虚拟机就是在你自身的windows基础上安装另一层操作系统,但是不好的地方就是会占用你自身windows的内存,而且虚拟机一般只拥有本机的一点内存,所以如果用虚拟机操作的话可能会很慢,很卡。还要另一种方法就是安装一个和windows并行的系统,这样每次开机前就会让你选择是windows或者是linux。我这次用的就是虚拟机安装linux,分配了2G的内存,非常卡,所以正在考虑采用第二种方法。

说到虚拟机安装,不得不想到的就是大名顶顶的虚拟机软件VMware workstations

VMware WorkstationLOGO

就是这个,就算是没用过虚拟机,在学校的机房也不会陌生这个图标,VMware是一个收费的软件,但是网上的破解方法很多,随便找一个激活码就可以,但是本人在搜索时发现VMware有一个免费的版本供用户使用,其实也就是相当于 workstations 的阉割版,但是我发现功能其实也够我使用了,所以就下载了VMware workstations 16 player
https://www.vmware.com/cn/products/workstation-player/workstation-player-evaluation.html
在a这里插入图片描述

长的就是上面这个压子,在VMware官网的下载->免费产品下载->Workstation Player就可以找到。

四、ubuntu

Ubuntu也没什么好说的,linux系统的老大哥了,直接百度搜ubuntu官网,就可以找到最新版的ubuntu下载,下载的最上面第一个就是

https://cn.ubuntu.com/download
在这里插入图片描述

下载好ubuntu后得到一个ios镜像文件
在这里插入图片描述

然后打开VMware workstations 16 player中选择创建新虚拟机,把你下载好的ubuntu加载到安装程序光盘映像文件内,如图中标红所示。接下来虚拟机就会自动识别你的ubuntu类型,然后有一个自动安装的选项,我就勾选上了,设置好密码和用户名,就可以静静的等他安装好(如果你勾选了自动安装的选项,你进ubuntu里面他虽然显示了桌面但是一直在转圈,我一开始以为是死机了,其实就是有点慢,过一会就会出来自动安装的界面,自动安装也很慢,可能是分配的内存不够,我是睡觉前安装的,第二天早上去就安装好了)

安装好之后你都linux应该是英文的(中文的最好,可以省略这一步),这个时候点最右上角的倒三角->设置->管理已安装的语言->添加或删除语言,再往下拉到chinese(simply)是简体中文,chinese(tradtional)是繁体中文,选择一个然后慢慢下载吧,我是下载了一个中文,然后就可以享受你的第一个中文版linux系统啦。

在这里插入图片描述

五、Anaconda和pycharm安装

Anaconda和pycharm也不用多说,python编程入门首选之一,提供了良好的界面化和集成环境,不了解的可以上网搜一下,反正无脑用就完了。

首先还是从官网上下载,这里要从ubuntu里面下载哈,你别在主系统windows下载了,下载的时候注意一定要下linux版本的

下面是anaconda的下载地址,往下翻到最下面

https://www.anaconda.com/products/individual

在这里插入图片描述

这里是pycharm的下载地址,还是要选linux版本的,而且要下右边的community(免费版),左边的专业版是要收费的,当然你要是不嫌麻烦也可以网上搜一下破解攻略。

https://www.jetbrains.com/pycharm/download/#section=linux

在这里插入图片描述

具体的安装方法可以自己百度一下,反正我是无脑点继续的。

接下来一点就是ubuntu和windows安装的不同,windows是直接双击下载好的文件就可以安装,linux/ubuntu则需要通过命令行安装,这对于刚上手linux的同学可能有点不习惯,但是你身为程序员,那必然是要和命令行打交道的,所以提前学一点也没啥。

首先找到你下载的pycharm文件,通常默认的都是在主文件夹(linux只有一个主文件夹,跟windows分区又不一样)->下载/download里面,先把下载好的压缩包解压好,然后在解压好的pycharm中找到bin文件,然后右键->在终端打开

在这里插入图片描述

你就打开一个类似于windows命令行(cmd)的形式,这个就是linux的交互的灵魂。(当然你可以从桌面开始直接cd到你要打开的文件,这个对新手确实不是很友好)然后在命令行中输入

sh pycharm.sh

在这里插入图片描述

Anaconda也是一样的思想,先下载好,然后用命令行打开,安装,具体我就不截图说明了,大家可以看这篇博客,可以说是写的非常仔细了

https://blog.csdn.net/qq_15192373/article/details/81091098

最后一步就是给pycharm搭载anaconda的环境,如果这里不手动设置的话,pycharm搭载的应该应该是linux自带的python环境,在新建pycharm项目的时候

在这里插入图片描述

把下面红框这里的选择为

Downloads/enter/bin/python

前面是你自己的地址,因为大家都不一样我就省略掉了,这样就搭载上了anaconda的环境,有很多默认的包已经给你安装好了,后面要加包直接conda install就行了,interpreter和conda executable都选上。虽然我也不知道这样到底对不对,反正是可行的,我自己也不清楚这两个有什么区别,interpreter是解释器,中间那个我也不知道到底是啥意思,最下面是默认所有项目,希望如果有大神看到这里可以在评论区解答一下我的疑惑)

如果你已经进去了,也可以在pycharm界面选择->file->settings->projiect->python interpreter然后右上角那里有一个小齿轮,点一下,再点击add就可以自己添加指定环境了,一样打开的是上面的界面。

在这里插入图片描述

六、安装faiss

万里长征总算走到了最后一步,装一个库废这么多功夫真不容易,只希望最后真的能给我带来收获。

首先找到pycharm最下面的Terminal(终端),这里我们就可以用conda install安装我们的库了,但需要注意的是,如果我们要安装faiss的话,要先添加清华源,豆瓣源等国内镜像,否则会连接时间过长报错,除非你可以科学上网,那就当我没说。

在这里插入图片描述

首先我们需要为conda添加下面两个清华源分支:

conda config --add channels [https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/](https://link.jianshu.com/?t=https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/)
conda config --add channels [https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/](https://link.jianshu.com/?t=https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/)
conda config --set show_channel_urls yes

在这里插入图片描述

一行一行输入就行,再使用下面这个命令就可以愉快的安装faisscpu版本啦

conda install faiss-cpu -c pytorch

如果还不行就把-c去掉试试。然后等待安装完毕就可以

安装好以后再import faiss,不报错就说明faiss已经安装成功了

在这里插入图片描述

faiss安装有不清楚的地方可以参考这篇博客

https://my.oschina.net/u/4511602/blog/3275429

七、总结

总的来说还是很顺利的,从最开始准备安装到安装成功,也就花了一晚上+一早上时间,我是纯虚拟机,linux小白,过程纯自己百度,如果有不对的地方,还请各位大神多多指教,也希望这篇文章能给在linux安装faiss的你一些指引。

最后这个虚拟机实在是太卡了,可能跑不了程序,所以我可能还是会采取双系统的形式,然后安装GPU形式的faiss,这样跑起程序来也能更快一点,这次就相当于是给linux入了一个门吧,如果成功了后期也会开一篇GPU和双系统形式的搭载文章。

标签:虚拟机,ubuntu,小白,linux,安装,CPU,下载,faiss
来源: https://blog.csdn.net/qq_42318647/article/details/110391899

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有