Как построить ветку Caffe из исходного кода для конкретной * Anaconda c - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь построить ветвь (?) Версию Caffe (т.е. DeepLab v.2) из ​​исходного кода. Я хочу, чтобы он существовал только в определенной c среде Anaconda.

Серия инструкций make заканчивается символом make distribute, который создает подкаталоги distribute/bin/, distribute/include/ и distribute/lib/. Как и ожидалось, подкаталог bin содержит файлы .bin, подкаталог include имеет дерево каталогов с файлами .hpp в качестве своих листьев, а подкаталог lib содержит файлы .a, .so и .so.1.0.0-rc3 .

Я думал, что должен был скопировать их в файлы bin, include и lib, что я и сделал. Однако, когда я пытаюсь импортировать caffe, я получаю следующую ошибку: libcaffe.so.1.0.0-rc3 не найден:

(deep_fusion) me@balin:~/Projects/LocalCaffe/fusionseg/python$ python
Python 2.7.17 |Anaconda, Inc.| (default, Oct 21 2019, 19:04:46) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/me/Projects/LocalCaffe/deeplab-public-ver2/distribute/python/caffe/__init__.py", line 1, in <module>
    from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver
  File "/home/me/Projects/LocalCaffe/deeplab-public-ver2/distribute/python/caffe/pycaffe.py", line 13, in <module>
    from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: libcaffe.so.1.0.0-rc3: cannot open shared object file: No such file or directory

Когда я смотрю на каталог lib, связанный с этой средой (то есть deep_fusion), делаю найти эту библиотеку -

$ ls ./anaconda2/envs/deep_fusion/lib/*caffe*
./anaconda2/envs/deep_fusion/lib/libcaffe.a   ./anaconda2/envs/deep_fusion/lib/libcaffe.so.1.0.0-rc3
./anaconda2/envs/deep_fusion/lib/libcaffe.so

Почему мой import не может найти эту библиотеку?

...