open-mmlab / mmtracking

OpenMMLab Video Perception Toolbox. It supports Video Object Detection (VID), Multiple Object Tracking (MOT), Single Object Tracking (SOT), Video Instance Segmentation (VIS) with a unified framework.
https://mmtracking.readthedocs.io/en/latest/
Apache License 2.0
3.54k stars 593 forks source link

mmdet depends on mmcv>=2.0.0rc4 while mmtrack depends on mmcv <2.0.0 #931

Open darrenjkt opened 8 months ago

darrenjkt commented 8 months ago

Checklist

  1. I have searched related issues but cannot get the expected help.
  2. The bug has not been fixed in the latest version.

Describe the bug mmcv versions are not compatible between mmdet and mmtrack. From the assertion errors,

Resolving the mmcv version of mmtrack means that the repo is not compatible with mmdet, and vice versa.

Reproduction

  1. What command or script did you run? In demo/MMTracking_Tutorial.ipynb, I ran:
# Check Pytorch installation
import torch, torchvision
print(torch.__version__, torch.cuda.is_available())

# Check mmcv installation
from mmcv.ops import get_compiling_cuda_version, get_compiler_version
print(get_compiling_cuda_version())
print(get_compiler_version())

# Check MMDetection installation
import mmdet
print(mmdet.__version__)

# Check MMTracking installation
import mmtrack
print(mmtrack.__version__)
  1. Did you make any modifications on the code or config? Did you understand what you have modified? No modifications made. No dataset has been used.

Environment

  1. Please run python mmtrack/utils/collect_env.py to collect necessary environment information and paste it here.
  2. You may add addition that may be helpful for locating the problem, such as
    • How you installed PyTorch [e.g., pip, conda, source]
    • Other environment variables that may be related (such as $PATH, $LD_LIBRARY_PATH, $PYTHONPATH, etc.)

I used the provided Dockerfile to spin up a container to run this.

{'sys.platform': 'linux', 'Python': '3.7.7 (default, May 7 2020, 21:25:33) [GCC 7.3.0]', 'CUDA available': True, 'GPU 0': 'NVIDIA GeForce RTX 3070 Ti Laptop GPU', 'CUDA_HOME': '/usr/local/cuda', 'NVCC': 'Cuda compilation tools, release 10.1, V10.1.24', 'GCC': 'gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0', 'PyTorch': '1.6.0', 'PyTorch compiling details': 'PyTorch built with:\n - GCC 7.3\n - C++ Version: 201402\n - Intel(R) Math Kernel Library Version 2020.0.1 Product Build 20200208 for Intel(R) 64 architecture applications\n - Intel(R) MKL-DNN v1.5.0 (Git Hash e2ac1fac44c5078ca927cb9b90e1b3066a0b2ed0)\n - OpenMP 201511 (a.k.a. OpenMP 4.5)\n - NNPACK is enabled\n - CPU capability usage: AVX2\n - CUDA Runtime 10.1\n - NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_37,code=compute_37\n - CuDNN 7.6.3\n - Magma 2.5.2\n - Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_VULKAN_WRAPPER -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_STATIC_DISPATCH=OFF, \n', 'TorchVision': '0.7.0', 'OpenCV': '4.9.0', 'MMCV': '1.7.2', 'MMCV Compiler': 'GCC 7.3', 'MMCV CUDA Compiler': '10.1'}

Error traceback import mmtrack: AssertionError: MMCV==2.1.0 is used but incompatible. Please install mmcv>=1.3.17, <2.0.0. import mmdet: AssertionError: MMCV==1.7.2 is used but incompatible. Please install mmcv>=2.0.0rc4, <2.2.0.

rastna12 commented 7 months ago

I was able to get the Dockerfile to build a working image by replacing RUN pip install mmdet with RUN pip install 'mmdet<3.0.0' in the Dockerfile and also adding the missing mmengine package with adding RUN pip install mmengine.

BestInYou commented 4 months ago

在mmtracking官网(https://mmtracking.readthedocs.io/zh-cn/stable/install.html)有mmtracking、mmcv以及mmdet的依赖关系QQ截图20240606144148