avatar

Faiss利用mkl加速,构建索引训练时出错

前言:
记录一下 faiss 构建索引训练时碰到的一个坑。
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.

问题:

利用英特尔 mkl(Math Kernel Library)库加速 faiss。 index.train()时报如下错误:

1
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.

解决方案

在调用 faiss 之前导入调用 mkl。代码如下:

1
2
import mkl
mkl.get_max_threads()

为什么这么做,我还不太理解。猜测是 conda 安装版本兼容的问题。具体可以看我提的issue

补充

如出现 mkl 导入失败的情况。如

1
2
    import mkl
ImportError: No module named mkl

解决方式如下:

1
2
3
### 执行:
$ conda install mkl
$ conda install mkl-service
文章作者: luochenxi
文章链接: https://luochenxi.github.io/2019/03/28/yuque/Faiss%E5%88%A9%E7%94%A8mkl%E5%8A%A0%E9%80%9F,%E6%9E%84%E5%BB%BA%E7%B4%A2%E5%BC%95%E8%AE%AD%E7%BB%83%E6%97%B6%E5%87%BA%E9%94%99/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kirio

评论