Reputation: 91
I try to do all these steps because I want a different version python 3.5 on linux to run the code in this example https://learn.microsoft.com/en-us/cognitive-toolkit/Object-Detection-using-Fast-R-CNN
If you need a different version you can compile it following these steps:
git clone --recursive https://github.com/rbgirshick/fast-rcnn.git
cd $FRCN_ROOT/lib
make
python setup.py build_ext --inplace.
copy the generated cython_bbox and cython_nms binaries from
$FRCN_ROOT/lib/utils to $CNTK_ROOT/Examples/Image/Detection/FastRCNN/fastRCNN/utils
**Error**
Traceback (most recent call last):
File "C1_DrawBboxesOnImages.py", line 10, in <module>
from cntk_helpers import *
File "/home/tftuts/Desktop/tensorflow/CNTK-master/Examples/Image/Detection/FastRCNN/cntk_helpers.py", line 13, in <module>
from fastRCNN.nms import nms as nmsPython
File "/home/tftuts/Desktop/tensorflow/CNTK-master/Examples/Image/Detection/FastRCNN/fastRCNN/__init__.py", line 7, in <module>
from .imdb import imdb
File "/home/tftuts/Desktop/tensorflow/CNTK-master/Examples/Image/Detection/FastRCNN/fastRCNN/imdb.py", line 16, in <module>
from .utils.cython_bbox import bbox_overlaps
ImportError: /home/tftuts/Desktop/tensorflow/CNTK-master/Examples/Image/Detection/FastRCNN/fastRCNN/utils/cython_bbox.so: undefined symbol: _Py_ZeroStruct
please any one can help me. what means
cython_bbox.so: undefined symbol: _Py_ZeroStruct
and how resolve this problem.
Upvotes: 6
Views: 16478
Reputation: 213
It is because of the python version mismatch. As default, it is compiled with python 2.7.
Edit the make.sh file to compile with python3 and compile once again.
For instance,
change python setup.py
to python3 setup.py
This solved the issue for me.
Upvotes: 0
Reputation: 1085
try compile it with python3.
The default python version in Linux maybe 2.x
Upvotes: 0
Reputation: 2050
This error message is typical when there's a version mismatch in Python modules. It could something like cython_bbox.so
was compiled and linked against Python 2.7 and CNTK was compiled against Python 3.5. It's hard to say exactly what the reason is but you can try to do make
inside a python environment that matches your CNTK version and see if that works.
Upvotes: 11