windows vs2019 faiss编译

最近想在windows使用百度的pp-shitu的图像识别功能,看了很多资料,很少有完整windows下的相关编译应用,主要的原因可能是因为faiss在windows下编译比较复杂。下面是我在windows下 编译faiss的一些过程,希望能帮助到有需要的人,也希望能相互交流。

1.主要的参考文章:https://blog.csdn.net/Algabeno/article/details/140693985,这篇文章基本包含了整个faiss的编译过;但是在编译过程中,还是出现了很多问题

  1. 提前下载的工具和程序:

    vs 2019 (我自己使用的)
    CMAKE (我的是3.26)
    faiss
    googletest : https://github.com/google/googletest
    benchmark: https://github.com/google/benchmark
    gflags : https://github.com/gflags/gflags
    swig :安装可参考https://blog.csdn.net/qq_41185868/article/details/103558686
    MKL : 我暂时用的是MKL
    如果需要GPU ,还需要安装相应的cuda,; (想要vs2019 能调用cuda,最好将vs2019和cuda都安装在默认目录下,不然可能cuda会安装报错(类似于NOT FOUND VS 2019),这个不保真,没有测试过vs2019 在 安装cuda 提示not found vs2019 情况下是否能调用cuda)

  2. 开始编译:
    3.1 首先要先编译gflags, 可参考;https://blog.csdn.net/m0_37829462/article/details/124695605
    会在out(是自己新建的文件夹,保存cmake结果的)文件夹下生成gflags-config.cmake,这个文件是编译faiss用到的在这里插入图片描述

3.2 开始编译 faiss,
将MKL 添加到环境变量,将下载的swigwin添加到环境变量在这里插入图片描述 在这里插入图片描述

做完上述步骤应该还会报错,在cmake配置界面,选择下面的配置项,并将其value设置成之前弄好的gflags,benchmark, googletest相关路径(不知道是不是都可以写在环境变量里面,如果是的话这里应该就不需要手动添加路径了,我没有测试,有兴趣的伙伴可以试试,然后说一声)
在这里插入图片描述

在这里插入图片描述

这里,如果使用GPU 就勾选GPU, 如果使用GPU ,就需要安装cuda
在这里插入图片描述

4.到此 ,重新点击configure, 如果没有报错 ,就再点击generte。
在这里插入图片描述

  1. 然后点击 open project,
    5.1 最好选择 release 进行编译,使用dubug应该会报错(提示找不到 python**_d.lib)
    5.2 中途会报错, 提示到不到unistd.h , 这个可以再网上找一个,然后放到C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include 下
    5.3 编译INSTALL的时候,可能会提示error MSB3073: 命令“setlocal… “,解决方法:退出VS,用管理员权限打开 vs2019,r然后再界面内打开项目,就可以了
    在这里插入图片描述

在这里插入图片描述

6 . 至此,faiss的编译基本成功,保存的路径应该在 C:\Program Files\faiss 下。能力有限,希望能帮到有需要的人。在使用pp-shitu的伙伴也可以交流一下,搞这玩意,我人都麻了。
在这里插入图片描述

在这里插入图片描述

最后在编译faiss 1.7.0版本的时候,忘了关掉GPU选项,最后gpu测试一直报错。关掉gpu后,就没有报错了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值