Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined symbol #6

Closed
DaiBeimin opened this issue Aug 11, 2020 · 4 comments
Closed

undefined symbol #6

DaiBeimin opened this issue Aug 11, 2020 · 4 comments

Comments

@DaiBeimin
Copy link

After installing the requirements and building the develop, I got this error when training:
ImportError: /home/dbm/BorderDet/cvpods/_C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: ZN6cvpods25ComputeAdaptiveLrOnDeviceEN2at6TensorES1_dddS1
In fact, a similar error have occurred before this, and that error was about _ZNBorderAlign* and I reinstalled the environment.
How can I solve this problem?

@FateScript
Copy link
Member

This is a compile error, please provide your cuda/cudnn/pytorch version. This issue might help you.

@DaiBeimin
Copy link
Author

Their versions are CUDA 9.0.176, cudnn 7 and pytorch 1.3.1(pytorch is same as requirements).
Besides, my gcc version is 5.3.1 and there was no errors when I run the command "python setup.py build develop" except some warnings of cpp. This error occurred at the line "from cvpods import _C".

The full logs is:
Traceback (most recent call last):
File "", line 1, in
File "/home/dbm/BorderDet/cvpods/init.py", line 3, in
from .utils import setup_environment
File "/home/dbm/BorderDet/cvpods/utils/init.py", line 11, in
from .visualizer import colormap, random_color, VideoVisualizer, ColorMode, VisImage, Visualizer
File "/home/dbm/BorderDet/cvpods/utils/visualizer/init.py", line 5, in
from .video_visualizer import *
File "/home/dbm/BorderDet/cvpods/utils/visualizer/video_visualizer.py", line 6, in
from .visualizer import ColorMode, Visualizer, _create_text_labels, _PanopticPrediction
File "/home/dbm/BorderDet/cvpods/utils/visualizer/visualizer.py", line 15, in
from cvpods.structures import BitMasks, Boxes, BoxMode, Keypoints, PolygonMasks, RotatedBoxes
File "/home/dbm/BorderDet/cvpods/structures/init.py", line 2, in
from .boxes import Boxes, BoxMode, pairwise_iou, pairwise_ioa
File "/home/dbm/BorderDet/cvpods/structures/boxes.py", line 8, in
from cvpods.layers import cat
File "/home/dbm/BorderDet/cvpods/layers/init.py", line 3, in
from .deform_conv import DeformConv, ModulatedDeformConv
File "/home/dbm/BorderDet/cvpods/layers/deform_conv.py", line 10, in
from cvpods import _C
ImportError: /home/dbm/BorderDet/cvpods/_C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: ZN6cvpods25ComputeAdaptiveLrOnDeviceEN2at6TensorES1_dddS1

This error makes me so confused because the compile seems successful but in fact failed.
I have no idea about how to solve this cpp error. And thanks for your reply. Can you give me some advice?

@FateScript
Copy link
Member

The version of NVCC you use to build cvpods or torchvision does not match the version of CUDA you are running with. This often happens when using anaconda's CUDA runtime.

Uninstalling torch and torchvision and deleting the copies from /lib/python3.6/site-packages/ and reinstalling them might fix your issue.

@DaiBeimin
Copy link
Author

oh, thanks. I think I have figured out the problem. Pytorc 1.1.3 matchs to CUDA 10 rather than CUDA 9 and I will change the my CUDA version to see whether it is useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants