最近因为要做多路召回的相关研究需要使用faiss进行召回,很多同学困在了安装的流程上。所以想把如何安装流程做个小结。

最简单的方法就是通过Anaconda来进行安装,facebook官方会不定期的推送稳定版本到conda频道。

下面我讲介绍如何在刚安装完毕的Ubuntu 18.04上安装faiss GPU。

下面介绍如何安装CUDA 10.0到ubuntu.

安装CUDA 10.0

登录[1]的网址,按照下面的选项,下载需要的内容

下载所需要的本地deb安装文件,大概1.6GB左右,等待下载结束就好了。

继续下面的操作指南

Installation Instructions:
`sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb`
`sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub`
`sudo apt-get update`
`sudo apt-get install cuda`

安装Conda

登录conda的网站

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

下载需要的conda版本

这里我选择的是Python 3.8和64-Bit (x86) Installer (529MB)

下载完后,执行

sudo sh Anaconda3-2020.11-Linux-x86_64.sh

conda的channel现在支持CUDA版本9.0,10.0的官方安装,如果你的CUDA版本是其他版本,也可以选择编译faiss源代码来代替官方版本。

使用conda官方的faiss版本来安装

请参考下面的命令来安装

# CPU version only
conda install faiss-cpu -c pytorch# GPU version
conda install faiss-gpu cudatoolkit=8.0 -c pytorch # For CUDA8
conda install faiss-gpu cudatoolkit=9.0 -c pytorch # For CUDA9
conda install faiss-gpu cudatoolkit=10.0 -c pytorch # For CUDA10

这样,你的faiss就安装好了。由于我的机器在用conda安装的时候碰到了网络问题,所以我不得不考虑使用源代码进行安装。

Nvidia 1080Ti显卡的使用方案

我的ubuntu是英伟达的1080Ti,我也想尝试使用源代码进行编译。于是下载下列代码

git clone https://github.com/facebookresearch/faiss.git

进入faiss目录

CPU-Only Build

cmake -B build . -DCUDAToolkit_ROOT=/usr/local/cuda-10.0/ -DFAISS_ENABLE_GPU=OFF -DPython_EXECUTABLE=/home/jiancong/anaconda3/bin/python3
make -C build -j16
cd build/faiss/python/ && python setup.py install

GPU Build

cmake -B build . -DCUDAToolkit_ROOT=/usr/local/cuda-10.0/ -DFAISS_ENABLE_GPU=ON -DPython_EXECUTABLE=/home/jiancong/anaconda3/bin/python3
make -C build -j16
cd build/faiss/python/ && python setup.py install

进入刚才生成的build目录,执行

make demo_ivfpq_indexing
cd demos
./demo_ivfpq_indexing

执行到这里如果一切ok,我们再测试python接口

python -c "import faiss, numpy
faiss.Kmeans(10, 20).train(numpy.random.rand(1000, 10).astype('float32'))"

还是没问题,很好,Faiss编译安装完毕,去嗨吧。

参考

  1. ^CUDA下载网站 https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=debnetwork

faiss python安装_如何在ubuntu 18.04上安装faiss GPU相关推荐

  1. webmin安装_如何在Ubuntu 18.04上安装Webmin

    webmin安装 Are you averse to running commands on a terminal and instead prefer managing your Linux sys ...

  2. mac如何启用cpu虚拟化_如何在 Ubuntu 18.04 上安装 KVM

    本文最先发布在: 如何在 Ubuntu 18.04 上安装 KVM​www.itcoder.tech KVM(基于内核的虚拟机)是一个内置于Linux内核的开源虚拟化技术.它允许你基于 Linux 或 ...

  3. php7安装flarum,如何在Ubuntu 18.04上安装Flarum社区软件

    如何在Ubuntu 18.04上安装Flarum社区软件 Flarum是一款用PHP和Mithril.js编写的免费开源软件. 它是一款简单,快速,美观且反应灵敏的软件,专门设计用于跨平台的一致性和直 ...

  4. ubuntu18.04安装python3_如何在 Ubuntu 18.04上安装 Python3.7

    Python 是世界上最流行的编程语言之一,凭借其简单易学的语法,Python是初学者和经验丰富的开发人员的绝佳选择.随着近几年人工智能和大数据的火热,Python流行度更是进一步飙升,有冲顶编程语言 ...

  5. joomla linux 安装教程,如何在Ubuntu 18.04上安装Joomla内容管理系统

    在创建网站时,使网站正常运行的最简单方法之一是使用CMS(内容管理系统),该软件通常附带捆绑的PHP代码以及所需的所有主题和插件. 除WordPress外,另一个受欢迎的CMS是Joomla. Joo ...

  6. ubuntu安装python百度经验_如何在Ubuntu 20.04上安装Python 3.9(含python编译安装和使用Apt命令安装)...

    在本文中,我们将向您展示在Ubuntu 20.04上安装Python 3.9的两种方法.第一种使用APT命令安装Python3.9,第二种是在Ubuntu20.04上编译安装Python 3.9.本教 ...

  7. Linux源码安装pgadmin4,如何在 Ubuntu 18.04 上安装 pgAdmin4

    pgAdmin4 是一个功能丰富,跨平台,基于 Web 的界面,允许您在Web浏览器中管理和管理 PostgreSQL 数据库实例. 在本指南中,您将学习如何在 Ubuntu 18.04 LTS上安装 ...

  8. teamviewer有linux安装教程,如何在Ubuntu 18.04上安装TeamViewer

    目的 目标是在Ubuntu 18.04 Bionic Beaver Linux上安装TeamViewer 操作系统和软件版本 操作系统: - 目标是在Ubuntu 18.04 Bionic Beave ...

  9. 如何在Ubuntu 18.04上安装OpenCV

    本教程介绍了如何在Ubuntu 18.04上安装OpenCV. OpenCV(开源计算机视觉库)是一个开源计算机视觉库,具有C ++,Python和Java的绑定.它的用途非常广泛,包括医学图像分析, ...

最新文章

  1. Jsp实现在线影院售票系统
  2. Java多线程初学者指南(10):使用Synchronized关键字同步类方法
  3. Gartner:大数据投资增长,但计划投资的组织机构却在减少
  4. 信息系统项目管理师-论文专题(三)范围管理论文写作
  5. OpenGL depthclamp深度夹紧实例
  6. python作业高级FTP(第八周)
  7. 不止代码:洛谷P1064 金明的预算方案+P2014选课(依赖背包)
  8. php 强制刷新一次,强制浏览器使用PHP刷新所有内容
  9. mac安装python环境教程_python mac下安装虚拟环境的图文教程
  10. densenet网络结构_FC-DENSENET用于图像分割学习笔记
  11. Linux学习笔记Sed最全整理
  12. eclipse无法启动的各种解决方法
  13. linux+极点五笔输入法,CentOS系统安装极点五笔输入法
  14. oracle 无效的窗口句柄 print spooler服务已开,win10系统下无法运行print spooler服务如何解决...
  15. gentoo Cataclysm - Dark Days Ahead
  16. 信用风险计量模型简述
  17. csv文件转换成xlsx文件方法
  18. Process-wide API spying - an ultimate hack 摘要翻译(二)
  19. 联想台式电脑重装系统教程
  20. ARTIX-7 XC7A35T实验项目之 串口发送

热门文章

  1. OpenGL EGL GPU工作流程理解(十四)
  2. 认真分析mmap:what? why? how?
  3. python之OrderedDict
  4. LED显示驱动(七):图层基本测试总结
  5. Win_server_2012如何将“计算机”图标放在桌面
  6. 照度计与亮度计的区别及如何挑选?
  7. Linux环境下Git的安装以及使用
  8. 网站如何配置CDN加速?网站域名接入腾讯云CDN的步骤(附CDN防御)
  9. 已解决:Cannot find ./catalina.sh The file is absent or does not have execute permission This file is ne
  10. linux重新识别逻辑卷,linux – 从已删除的LVM逻辑卷恢复ext4文件系统的任何方法?...