Skip to content

Incompatible Dependencies during Training Script Execution #25

@Yonghak-KIM

Description

@Yonghak-KIM

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,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions