dvlab-research/ECCV22-P3AFormer-Tracking-Objects-as-Pixel-wise-Distributions

P3AFormer/DCNv2/_ext.cpython-38-x86_64-linux-gnu.so: undefined symbol: THPVariableClass

WesLee88524 opened this issue · 5 comments

Dear Zelin,
I compile DCN_v2 by using 'pip install -U torch==1.4 torchvision==0.5 -f https://download.pytorch.org/whl/cu101/torch_stable.html' as this url (CharlesShang/DCNv2#63) said.
And then I run 'bash configs/standard/v100_mot17_coco.sh',some errors accur like:

Traceback (most recent call last): File "main.py", line 13, in <module> import datasets File "/home/B/lyh/code/P3AFormer/datasets/__init__.py", line 2, in <module> from .detmot import build as build_e2e_mot File "/home/B/lyh/code/P3AFormer/datasets/detmot.py", line 23, in <module> from models.structures import Instances File "/home/B/lyh/code/P3AFormer/models/__init__.py", line 12, in <module> from .p3aformer.p3aformer import build as build_p3aformer File "/home/B/lyh/code/P3AFormer/models/p3aformer/p3aformer.py", line 13, in <module> from .p3aformer_dla import IDAUpV3 File "/home/B/lyh/code/P3AFormer/models/p3aformer/p3aformer_dla.py", line 14, in <module> from dcn_v2 import DCN File "/home/B/lyh/code/P3AFormer/DCNv2/dcn_v2.py", line 13, in <module> import _ext as _backend ImportError: /home/B/lyh/code/P3AFormer/DCNv2/_ext.cpython-38-x86_64-linux-gnu.so: undefined symbol: THPVariableClass

Do u have ever met?

I understand your issues and I think installing DCN v2 via pip is not possible currently. This is because the prebuilt dcn via pip is not compatible with your local CUDAs. As for your issue, you may refer to deformable detr repo for more details.

I understand your issues and I think installing DCN v2 via pip is not possible currently. This is because the prebuilt dcn via pip is not compatible with your local CUDAs. As for your issue, you may refer to deformable detr repo for more details.

I scan the Deformable-DETR here but there is no description about DCNv2.

It should be deformable cnn, not deformable detr. Sorry foe the confusion.

You may not find the exact issue but the problem here is clear that your lib versions are not compatible so you cannot import dcn v2. https://www.google.com/amp/s/varhowto.com/check-pytorch-cuda-version/%3Famp

https://github.com/jinfagang/DCNv2_latest
Please use this and rebuild the code.
It worked in my case for newer PyTorch versions.