Zardinality / TF_Deformable_Net

Deformable convolution net on Tensorflow
MIT License
169 stars 53 forks source link

Question about the psroi_pooling.so #4

Closed feitiandemiaomi closed 7 years ago

feitiandemiaomi commented 7 years ago

Hi, Thank you for your amazing work According to the guide ,When I run the demo,I meet an issue following: gpu2@gpu2-PowerEdge-R730:~/OWFO/TF_Deformable_Net$ python ./faster_rcnn/demo.py --model mypath I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally filename: /home/gpu2/OWFO/TF_Deformable_Net/lib/psroi_pooling_layer/psroi_pooling.so


/home/gpu2/OWFO/TF_Deformable_Net/lib/psroi_pooling_layer/psroi_pooling.so Traceback (most recent call last): File "./faster_rcnn/demo.py", line 21, in from lib.networks.factory import get_network File "/home/gpu2/OWFO/TF_Deformable_Net/lib/networks/init.py", line 8, in from .VGGnet_train import VGGnet_train File "/home/gpu2/OWFO/TF_Deformable_Net/lib/networks/VGGnet_train.py", line 2, in from .network import Network File "/home/gpu2/OWFO/TF_Deformable_Net/lib/networks/network.py", line 11, in from ..psroi_pooling_layer import psroi_pooling_op as psroi_pooling_op File "/home/gpu2/OWFO/TF_Deformable_Net/lib/psroi_pooling_layer/psroi_pooling_op.py", line 8, in _psroi_pooling_module = tf.load_op_library(filename) File "/home/gpu2/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/load_library.py", line 64, in load_op_library None, None, error_msg, error_code) tensorflow.python.framework.errors_impl.NotFoundError: /home/gpu2/OWFO/TF_Deformable_Net/lib/psroi_pooling_layer/psroi_pooling.so: undefined symbol: _ZN10tensorflow7strings6StrCatB5cxx11ERKNS0_8AlphaNumE

And the other operating ,such training and testing,the same error as above, I see your description about installation ,I wonder if I need do more about installation ,especially about the psroi_pooling

Zardinality commented 7 years ago

Which version of gcc do you use? Maybe you should check make.sh and uncomment out lines for gcc5.

feitiandemiaomi commented 7 years ago

gcc 5.4 Let me try it ,Thank you a lot

feitiandemiaomi commented 7 years ago

I replace the newest make.sh and uncomment the code anout gcc-5 , it indeed does work,which solve the question of psroi_pooling.so and roi_pooling_layer.so ,but when it comes to the last , deform_conv_layer, it show the error. gpu2@gpu2-PowerEdge-R730:~/OWFO/TF_Deformable_Net$ python ./faster_rcnn/demo.py I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally filename: /home/gpu2/OWFO/TF_Deformable_Net/lib/psroi_pooling_layer/psroi_pooling.so


/home/gpu2/OWFO/TF_Deformable_Net/lib/psroi_pooling_layer/psroi_pooling.so Traceback (most recent call last): File "./faster_rcnn/demo.py", line 21, in from lib.networks.factory import get_network File "/home/gpu2/OWFO/TF_Deformable_Net/lib/networks/init.py", line 8, in from .VGGnet_train import VGGnet_train File "/home/gpu2/OWFO/TF_Deformable_Net/lib/networks/VGGnet_train.py", line 2, in from .network import Network File "/home/gpu2/OWFO/TF_Deformable_Net/lib/networks/network.py", line 13, in from ..deform_conv_layer import deform_conv_op as deform_conv_op File "/home/gpu2/OWFO/TF_Deformable_Net/lib/deform_conv_layer/deform_conv_op.py", line 8, in _deform_conv_module = tf.load_op_library(filename) File "/home/gpu2/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/load_library.py", line 64, in load_op_library None, None, error_msg, error_code) tensorflow.python.framework.errors_impl.NotFoundError: /home/gpu2/OWFO/TF_Deformable_Net/lib/deform_conv_layer/deform_conv.so: undefined symbol: _ZN10tensorflow8internal21CheckOpMessageBuilder9NewStringB5cxx11Ev

I also check the code of gcc5-built of deform_conv_layer in make.sh , do not find the problem

Zardinality commented 7 years ago

@feitiandemiaomi Sorry I have no idea what's going on on your side, others came across this issue and reinstall gcc4 and solved, or merely through add this flag. Unfortunately I have no environment right now for me to test it on gcc5.

Zardinality commented 7 years ago

@feitiandemiaomi Hi, have you worked out where the problem is? I have updated readme to include a workaround given by others in another issue, which solves a very similiar problem.

feitiandemiaomi commented 7 years ago

Thank you a lot, I was worrying about it, Yesterday, I try modifying the make.sh and compiled ,but there were still some errors.

dasing commented 5 years ago

I also have this error. I have followed all of the instructions in the readme, but my psroi_pooling.so always have undefined symbol. After searching for other information, I add this flag -L $TF_LIB -ltensorflow_framework to the end of the g++, then the generated .so file can be load successfully.