-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Dear YOLO-UniOW Team,
Hello, I am attempting to set up the YOLO-UniOW project (version 0.1.0, based on README.md's installation instructions) and am encountering persistent and unresolved dependency conflicts when trying to run tools/train.py on a Windows 11 system with an RTX 4080 SUPER GPU.
Environment Details:
Operating System: Windows 11
Python Version: 3.9.x
PyTorch Version: 2.1.2+cu118 (as per README.md recommendation)
CUDA Version: 11.8 (as per README.md recommendation)
GPU: NVIDIA GeForce RTX 4080 SUPER
Problem Description:
I have diligently followed the installation instructions provided in README.md (pip install torch, pip install mmcv, pip install -r requirements.txt, pip install -e . etc.). I have also addressed numerous prior issues, including NumPy compatibility, C++ compiler (cl.exe) errors, and ModuleNotFoundError for mmyolo.
However, when executing tools/train.py, I consistently encounter the following AssertionError:
AssertionError: MMDetection 3.3.0 is incompatible with MMRotate 1.0.0rc1. Please use MMDetection >= 3.0.0rc5, < 3.1.0 instead.
Through my own debugging, I've identified that this issue stems from fundamental and contradictory dependency requirements among the project's components:
MMDetection Version Conflict:
The yolo-world 0.1.0 package (from the main project installation) appears to implicitly or explicitly require mmdet==3.3.0.
However, the mmrotate 1.0.0rc1 module (which is utilized by mmyolo, located in the third_party/mmyolo/ directory within the project) requires mmdet to be >=3.0.0rc5 and <3.1.0.
These two requirements are mutually exclusive, making it impossible to install a single mmdet version that satisfies both.
third_party/mmdetection vs. MMCV Version Conflict:
The README.md instructs to install mmcv==2.1.0.
Yet, the mmdetection module within third_party/mmdetection/init.py (verified in the codebase) contains an assertion:
Python
mmcv_minimum_version = '2.0.0rc4'
mmcv_maximum_version = '2.1.0'
...
assert (mmcv_version >= digit_version(mmcv_minimum_version)
and mmcv_version < digit_version(mmcv_maximum_version)),
f'MMCV=={mmcv.version} is used but incompatible. '
f'Please install mmcv>={mmcv_minimum_version}, <{mmcv_maximum_version}.'
This assertion explicitly deems mmcv 2.1.0 as incompatible (due to the strict < operator), demanding mmcv to be strictly less than 2.1.0. This contradicts the README.md's instruction.
Inquiry on Compatible Setup for RTX 4080 SUPER on Windows:
Given these inherent and contradictory dependency requirements within the project's components, it seems challenging to set up a compatible environment using standard package management.
We would greatly appreciate your specific guidance on how to configure the environment to successfully run this YOLO-UniOW project for training on an RTX 4080 SUPER GPU under Windows.
Specifically, could you please provide clarity on:
What is the exact and verified combination of mmcv, mmengine, mmdet, mmyolo, and mmrotate versions that is guaranteed to be compatible with YOLO-UniOW 0.1.0 (or a recommended stable release/commit)?
Are there specific git checkout commands required for the third_party/mmdetection and third_party/mmyolo submodules to align with the main project's dependencies for a working setup?
Do you have a requirements.txt or conda_env.yml file that defines a verified working environment for this specific task (Live vs Spoof binary classification on SiW-Mv2) using the recommended PyTorch/CUDA versions on Windows?
Your precise instructions and support would be invaluable for our project progress.
Thank you for your time and support.
Sincerely,