Linux 下 Caffe 的路径设置问题

在 FRDC 的 8 GPU 服务器上,在 import caffe 后,在 ipython 中一直无法补全 caffe 的函数。研究了一下,终于解决了这个问题。

环境配置

  • Centos 7
  • Caffe

问题

  1. 个人用户目录下有一 caffe 库,将其添加进 PYTHONPATH 后,无法有效调用。
  2. 尝试将其他用户下的 caffe 路径添加进 PYTHONPATH,依然无法有效调用。
  3. PYTHONPATH 中删除所有 caffe 有关的路径,依然可以 import caffe,但无法有效调用。

分析

  1. 针对问题 3,使用 caffe.__file__ 可以查看所调用 caffe 的文件地址,发现调用的是 caffe2 库下的一个 caffe 文件夹。这显然是不对的。由于 python 在其 PYTHONPATH 中依次向后查找调用库,当查找到第一个后,就使用第一个路径中的库,因此如果后面的 PYTHONPATH 中也包含某个库的话,后面的库就不会被调用。因此,我们需要将 caffe 的路径放在 caffe2 路径的前面。
  2. 针对问题 1,由于我在 /home/taoxuan/ 路径下有一个 caffe 库,因此将其添加进 PYTHONPATH,但无法有效调用。将其从 PYTHONPATH 中删除后,使用 caffe.__file__ 却依然指向此 caffe 库,遂将此库改名。
  3. 针对问题 2,将其他用户的 caffe 路径添加进 PYTHONPATH 后,依然正确调用,个人猜测是由于权限的问题。

解决方案

将其他用户下的有效 caffe 库拷贝至个人目录下,更改所有者及组,sudo chown -R taoxuan:taoxuan /path/to/caffe。然后将此库的路径添加进 PYTHONPATH,这样就可以有效调用。


文章作者: taosean
文章链接: https://taosean.github.io/2018/07/04/Linux-caffe-path-setting/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 taosean's 学习之旅