trackformer icon indicating copy to clipboard operation
trackformer copied to clipboard

undefined symbol: THPVariableClass

Open mhnasseri opened this issue 3 years ago • 6 comments

Hello,

I want to run the code. So, at first I built the MultiScaleDeformableAttention Module and it is installed successfully.

(virenv) mohammadh@ut-cavlab:/hdd/nasseri/trackformer-main/src/trackformer/models/ops$ python3 setup.py build install --install-lib='/hdd/nasseri/virenv/bin'
running build
running build_py
running build_ext
running install
running bdist_egg
running egg_info
writing MultiScaleDeformableAttention.egg-info/PKG-INFO
writing dependency_links to MultiScaleDeformableAttention.egg-info/dependency_links.txt
writing top-level names to MultiScaleDeformableAttention.egg-info/top_level.txt
reading manifest file 'MultiScaleDeformableAttention.egg-info/SOURCES.txt'
writing manifest file 'MultiScaleDeformableAttention.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/functions
copying build/lib.linux-x86_64-3.6/functions/ms_deform_attn_func.py -> build/bdist.linux-x86_64/egg/functions
copying build/lib.linux-x86_64-3.6/functions/__init__.py -> build/bdist.linux-x86_64/egg/functions
creating build/bdist.linux-x86_64/egg/modules
copying build/lib.linux-x86_64-3.6/modules/ms_deform_attn.py -> build/bdist.linux-x86_64/egg/modules
copying build/lib.linux-x86_64-3.6/modules/__init__.py -> build/bdist.linux-x86_64/egg/modules
copying build/lib.linux-x86_64-3.6/MultiScaleDeformableAttention.cpython-36m-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg
byte-compiling build/bdist.linux-x86_64/egg/functions/ms_deform_attn_func.py to ms_deform_attn_func.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/functions/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/modules/ms_deform_attn.py to ms_deform_attn.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/modules/__init__.py to __init__.cpython-36.pyc
creating stub loader for MultiScaleDeformableAttention.cpython-36m-x86_64-linux-gnu.so
byte-compiling build/bdist.linux-x86_64/egg/MultiScaleDeformableAttention.py to MultiScaleDeformableAttention.cpython-36.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying MultiScaleDeformableAttention.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying MultiScaleDeformableAttention.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying MultiScaleDeformableAttention.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying MultiScaleDeformableAttention.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
__pycache__.MultiScaleDeformableAttention.cpython-36: module references __file__
creating 'dist/MultiScaleDeformableAttention-1.0-py3.6-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing MultiScaleDeformableAttention-1.0-py3.6-linux-x86_64.egg
removing '/hdd/nasseri/virenv/bin/MultiScaleDeformableAttention-1.0-py3.6-linux-x86_64.egg' (and everything under it)
creating /hdd/nasseri/virenv/bin/MultiScaleDeformableAttention-1.0-py3.6-linux-x86_64.egg
Extracting MultiScaleDeformableAttention-1.0-py3.6-linux-x86_64.egg to /hdd/nasseri/virenv/bin
MultiScaleDeformableAttention 1.0 is already the active version in easy-install.pth

Installed /hdd/nasseri/virenv/bin/MultiScaleDeformableAttention-1.0-py3.6-linux-x86_64.egg
Processing dependencies for MultiScaleDeformableAttention==1.0
Finished processing dependencies for MultiScaleDeformableAttention==1.0

and after that the pip can find the MultiScaleDeformableAttention Module:

pip show MultiScaleDeformableAttention
Name: MultiScaleDeformableAttention
Version: 1.0
Summary: Multi-Scale Deformable Attention Module in Deformable DETR
Home-page: xxx
Author: Weijie Su
Author-email: UNKNOWN
License: UNKNOWN
Location: /hdd/nasseri/virenv/bin
Requires:
Required-by:

But when I run the track.py, I get the following error:

python3 track.py
Traceback (most recent call last):
  File "track.py", line 16, in <module>
    from trackformer.models import build_model
  File "/hdd/nasseri/trackformer-main/src/trackformer/models/__init__.py", line 6, in <module>
    from .deformable_transformer import build_deforamble_transformer
  File "/hdd/nasseri/trackformer-main/src/trackformer/models/deformable_transformer.py", line 17, in <module>
    from .ops.modules import MSDeformAttn
  File "/hdd/nasseri/trackformer-main/src/trackformer/models/ops/modules/__init__.py", line 9, in <module>
    from .ms_deform_attn import MSDeformAttn
  File "/hdd/nasseri/trackformer-main/src/trackformer/models/ops/modules/ms_deform_attn.py", line 21, in <module>
    from ..functions import MSDeformAttnFunction
  File "/hdd/nasseri/trackformer-main/src/trackformer/models/ops/functions/__init__.py", line 9, in <module>
    from .ms_deform_attn_func import MSDeformAttnFunction
  File "/hdd/nasseri/trackformer-main/src/trackformer/models/ops/functions/ms_deform_attn_func.py", line 18, in <module>
    import MultiScaleDeformableAttention as MSDA
ImportError: /hdd/nasseri/trackformer-main/src/trackformer/models/ops/MultiScaleDeformableAttention.cpython-36m-x86_64-linux-gnu.so: undefined symbol: THPVariableClass

How can I solve the problem?

mhnasseri avatar Oct 15 '21 18:10 mhnasseri

What are your torch, torchvision, CUDA and CUDNN versions? I assume there is a version mismatch.

timmeinhardt avatar Oct 24 '21 16:10 timmeinhardt

Hi. I'm having the same problem. torch = 1.8.0 torchvision = 0.9.0 python3.7.8, CUDA11.2, cudnn=8.1.1 The GPU used is RTX6000. Is it incompatible?

isaryo avatar Oct 27 '21 12:10 isaryo

Please follow the INSTALL instructions step by step and install the correct versions. This repository does not support torch=1.8.0.

timmeinhardt avatar Oct 27 '21 17:10 timmeinhardt

Hi. I'm having the same problem. torch = 1.8.0 torchvision = 0.9.0 python3.7.8, CUDA11.2, cudnn=8.1.1 The GPU used is RTX6000. Is it incompatible?

hi~I have the same problem too.Have you solved it? torch=1.5.0 torchvision=0.6.0 cuda=10.2 cudnn=7.6.5 I think the version is correct,but the problem happened.

tiancola avatar Jan 12 '22 09:01 tiancola

This is most likely a version mismatch. For example, CUDNN 7.6.7 does not support CUDA 10.0. At least according to this support matrix.

timmeinhardt avatar Jan 12 '22 17:01 timmeinhardt

Hi, I also have the similar problem. When I finish Install acoording to the instruction, I excute train commond: python src/train.py with \     mot17 \     deformable \     multi_frame \     tracking \     output_dir=models/mot17_deformable_multi_frame Then I got the error: File "/data/ldap_shared/home/s_zyd/trackformer-main/src/trackformer/models/ops/functions/ms_deform_ attn_func.py", line 11, in <module> import MultiScaleDeformableAttention as MSDA ImportError: /ldap_shared/home/s_zyd/.pyenv/versions/anaconda3-2019.07/envs/trackformer-breast/lib/py thon3.7/site-packages/MultiScaleDeformableAttention-1.0-py3.7-linux-x86_64.egg/MultiScaleDeformableAt tention.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZN3c104cuda20getCurrentCUDAStreamEa My environment: python=3.7.3 torch=1.5.0 torchvision=0.6.0 cuda=10.2 nvidia-cudnn=8.2.0.51 GPU: NVIDIA GeForce RTX 3090

@timmeinhardt @tiancola @mhnasseri Can you help me to solve it?

imzhangyd avatar Jan 04 '24 09:01 imzhangyd