Jwindler / AutoHiC

A novel genome assembly pipeline based on deep learning
https://doi.org/10.1093/nar/gkae789
MIT License
45 stars 5 forks source link

CUDA version #31

Open txfc opened 3 days ago

txfc commented 3 days ago

Hello, I am trying to install the AutoHiC software on my system, but I am facing compatibility issues with the CUDA version. My system currently has CUDA 12.4 installed, but I couldn't find a compatible mmcv version that supports both CUDA 12.4 and the required PyTorch version. From the installation instructions, it seems that AutoHiC requires CUDA 11.3. Does this mean that AutoHiC can only be installed with CUDA 11.3, or is there a way to make it work with CUDA 12.4? I would appreciate any guidance on how to proceed with the installation on a system with CUDA 12.4, or if downgrading to CUDA 11.3 is the only option. Here is the error message

nohup: ignoring input
Traceback (most recent call last):
  File "/mnt/data/dD/bio_softer/AutoHiC/autohic.py", line 20, in <module>
    from src.common.error_pd import infer_error
  File "/mnt/data/dD/bio_softer/AutoHiC/src/common/error_pd.py", line 20, in <module>
    from mmdet.apis import init_detector, inference_detector
  File "/mnt/data/dD/bio_softer/AutoHiC/src/models/swin/mmdet/apis/__init__.py", line 1, in <module>
    from .inference import (async_inference_detector, inference_detector,
  File "/mnt/data/dD/bio_softer/AutoHiC/src/models/swin/mmdet/apis/inference.py", line 6, in <module>
    from mmcv.ops import RoIPool
  File "/home/dD/miniconda3/envs/autohic/lib/python3.9/site-packages/mmcv/ops/__init__.py", line 2, in <module>
    from .assign_score_withk import assign_score_withk
  File "/home/dD/miniconda3/envs/autohic/lib/python3.9/site-packages/mmcv/ops/assign_score_withk.py", line 5, in <module>
    ext_module = ext_loader.load_ext(
  File "/home/dD/miniconda3/envs/autohic/lib/python3.9/site-packages/mmcv/utils/ext_loader.py", line 13, in load_ext
    ext = importlib.import_module('mmcv.' + name)
  File "/home/dD/miniconda3/envs/autohic/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'mmcv._ext'
Jwindler commented 3 days ago

Thank you for your response. If you want to use GPU, please install CUDA-11.3 and cuDNN-8.2 before. For AutoHiC with GPU support, you need to be under the above CUDA version and use conda to reinstall AutoHiC. If there are no special requirements, it is recommended to use AutoHiC in the CPU environment, which does not change the speed much, because the time limit is mainly concentrated on juier and 3d-dna.

Jwindler commented 3 days ago

If you can use Docker, this may be useful.

txfc commented 2 days ago

Hello, I followed the instructions to install the dependencies, but when I execute the program, I encounter the following error:

nohup: ignoring input
Traceback (most recent call last):
  File "/mnt/data/dd/bio_softer/AutoHiC/autohic.py", line 20, in <module>
    from src.common.error_pd import infer_error
  File "/mnt/data/dd/bio_softer/AutoHiC/src/common/error_pd.py", line 20, in <module>
    from mmdet.apis import init_detector, inference_detector
  File "/mnt/data/dd/bio_softer/AutoHiC/src/models/swin/mmdet/apis/__init__.py", line 1, in <module>
    from .inference import (async_inference_detector, inference_detector,
  File "/mnt/data/dd/bio_softer/AutoHiC/src/models/swin/mmdet/apis/inference.py", line 6, in <module>
    from mmcv.ops import RoIPool
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmcv/ops/__init__.py", line 2, in <module>
    from .assign_score_withk import assign_score_withk
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmcv/ops/assign_score_withk.py", line 5, in <module>
    ext_module = ext_loader.load_ext(
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmcv/utils/ext_loader.py", line 13, in load_ext
    ext = importlib.import_module('mmcv.' + name)
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'mmcv._ext'

I found that this error may be caused by an incompatibility between the mmcv version, CUDA, and PyTorch, but there is no version of mmcv that supports CUDA 12.4. I don’t care whether GPU acceleration is used, but how can I achieve an independent CPU environment?

I have also tried the Singularity solution but encountered the following error:

nohup: ignoring input
Traceback (most recent call last):
  File "/home/autohic/AutoHiC/autohic.py", line 19, in <module>
    from src.assembly.adjust_all_error import adjust_all_error
  File "/home/autohic/AutoHiC/src/assembly/adjust_all_error.py", line 16, in <module>
    from src.assembly.cut_errors_ctg import cut_errors_ctg
  File "/home/autohic/AutoHiC/src/assembly/cut_errors_ctg.py", line 15, in <module>
    from src.utils.get_cfg import get_ratio
  File "/home/autohic/AutoHiC/src/utils/get_cfg.py", line 17, in <module>
    import hicstraw
ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/hicstraw.cpython-39-x86_64-linux-gnu.so)

The Docker image cannot be pulled due to network issues, so I am unable to use it.

Jwindler commented 2 days ago

If src/straw.cpp:34:10: fatal error: curl/curl.h: No such file or directory is encountered during installation, enter the following command sudo apt-get install libcurl-dev libcurl4-openssl-dev libssl-dev in the terminal or refer: https://stackoverflow.com/questions/11471690/curl-h-no-such-file-or-directory.

txfc commented 1 day ago

yes I enter this command sudo apt-get install libcurl-dev libcurl4-openssl-dev libssl-dev

here is this output message 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package libcurl-dev is a virtual package provided by:
  libcurl4-openssl-dev 7.81.0-1ubuntu1.18
  libcurl4-nss-dev 7.81.0-1ubuntu1.18
  libcurl4-gnutls-dev 7.81.0-1ubuntu1.18
You should explicitly select one to install.

E: Package 'libcurl-dev' has no installation candidate

I have installed all of these libraries. it does not work

nohup: ignoring input
Traceback (most recent call last):
  File "/mnt/data/dd/bio_softer/AutoHiC/autohic.py", line 20, in <module>
    from src.common.error_pd import infer_error
  File "/mnt/data/dd/bio_softer/AutoHiC/src/common/error_pd.py", line 20, in <module>
    from mmdet.apis import init_detector, inference_detector
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/apis/__init__.py", line 2, in <module>
    from .det_inferencer import DetInferencer
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/apis/det_inferencer.py", line 22, in <module>
    from mmdet.evaluation import INSTANCE_OFFSET
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/evaluation/__init__.py", line 4, in <module>
    from .metrics import *  # noqa: F401,F403
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/evaluation/metrics/__init__.py", line 5, in <module>
    from .coco_metric import CocoMetric
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/evaluation/metrics/coco_metric.py", line 16, in <module>
    from mmdet.datasets.api_wrappers import COCO, COCOeval, COCOevalMP
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/datasets/__init__.py", line 31, in <module>
    from .utils import get_loading_pipeline
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/datasets/utils.py", line 5, in <module>
    from mmdet.datasets.transforms import LoadAnnotations, LoadPanopticAnnotations
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/datasets/transforms/__init__.py", line 6, in <module>
    from .formatting import (ImageToTensor, PackDetInputs, PackReIDInputs,
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/datasets/transforms/formatting.py", line 11, in <module>
    from mmdet.structures.bbox import BaseBoxes
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/structures/bbox/__init__.py", line 2, in <module>
    from .base_boxes import BaseBoxes
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/structures/bbox/base_boxes.py", line 9, in <module>
    from mmdet.structures.mask.structures import BitmapMasks, PolygonMasks
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/structures/mask/__init__.py", line 3, in <module>
    from .structures import (BaseInstanceMasks, BitmapMasks, PolygonMasks,
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmdet/structures/mask/structures.py", line 12, in <module>
    from mmcv.ops.roi_align import roi_align
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmcv/ops/__init__.py", line 3, in <module>
    from .active_rotated_filter import active_rotated_filter
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmcv/ops/active_rotated_filter.py", line 10, in <module>
    ext_module = ext_loader.load_ext(
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/site-packages/mmcv/utils/ext_loader.py", line 13, in load_ext
    ext = importlib.import_module('mmcv.' + name)
  File "/home/dd/miniconda3/envs/autohic/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'mmcv._ext'
Jwindler commented 1 day ago

you should:

configuration environment

cd ./src/models/swin

install dependencies

pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple/