У меня возникают ошибки импорта при попытке повторного использования детектора
Ожидаемые результаты:
Успешный вывод
Фактические результаты
Traceback (most recent call last):
File "infer_simple.py", line 44, in <module>
import detectron.core.test_engine as infer_engine
File ".../detectron/core/test_engine.py", line 35, in <module>
from detectron.core.rpn_generator import generate_rpn_on_dataset
File ".../detectron/core/rpn_generator.py", line 42, in <module>
from detectron.datasets import task_evaluation
File ".../detectron/datasets/task_evaluation.py", line 47, in <module>
import detectron.datasets.json_dataset_evaluator as json_dataset_evaluator
File ".../detectron/datasets/json_dataset_evaluator.py", line 34, in <module>
import detectron.utils.boxes as box_utils
File ".../detectron/utils/boxes.py", line 52, in <module>
import detectron.utils.cython_nms as cython_nms
ImportError: .../detectron/utils/cython_nms.so: undefined symbol: PyFPE_jbuf
Подробные инструкции по воспроизведению
<code>conda install pytorch-nightly -c pytorch</code><br>
DETECTRON=/path/to/clone/detectron<br>
<code>git clone https://github.com/facebookresearch/detectron $DETECTRON</code><br>
<code>pip install -r $DETECTRON/requirements.txt</code><br>
<code>cd $DETECTRON && make <code>
<code>python $DETECTRON/detectron/tools/infer_simple.py</code>
Информация о системе
Operating system: Ubuntu 16.04
Compiler version: Cmake 3.12.0
CUDA version: 9.2
cuDNN version: 9.0
NVIDIA driver version: 396.37
GPU model: Nvidia K80
PYTHONPATH: empty
python --version
> Python 2.7.15 :: Anaconda, Inc.
Все остальное, что кажется актуальным:
Caffe2
работает просто отлично, test_spatial_narrow_as_op.py
возвращает 'OK'
Из того, что я обнаружил в Интернете, проблема в том, что у меня есть разные версии cython, numpy или opencv на моих разных версиях python
и anaconda
.Но если я удаляю numpy
или opencv
из anaconda
, то caffe
больше не работает, и если я удаляю cython
из моих исходных python
пакетов, то команда make в cd Detector && Makeне удается.
Я чувствую, что если бы я мог сказать make использовать Cython из anaconda, а не из python по умолчанию, он должен работать.