配置MambaIRv2: Attentive State Space Restoration的环境

github上代码的地址:

csguoh/MambaIR: [ECCV2024, CVPR2025] MambaIR and MambaIRv2!

一开始直接输入命令

复制代码
conda env create -f environment.yaml

安装了半天爆出来好几个错误,其中一个是没有nvcc

输入以下命令:

复制代码
module avail

发现没有对应的cuda11.7的版本

就安装cuda11.7的

然后输入以下命令激活环境:

复制代码
 source /data/home/sczc338/run/soft/cuda11.7/env.sh

把这个问题解决了

具体的可以看一下这篇文章:

.whl文件-CSDN博客

里面有如何在超算上安装相应cuda版本的详细步骤

还有一个是什么包找不到好像是。

因为这里默认安装包从defaults通道,但这里的包实际上更新比较慢,所以我使用了如下命令让conda-forge通道为优先级最高的通道(conda-forge是社区驱动的,更新包较快)(conda-forge is a community effort that provides conda packages for a wide range of software.)

  • Make sure you have conda >=4.9:

    复制代码
    conda --version
    conda update conda
  • Add conda-forge as the highest priority channel:

    复制代码
    conda config --add channels conda-forge
  • Activate strict channel priority (strict will be activated by default in conda 5.0):

    复制代码
    conda config --set channel_priority strict

具体的可以看一下这一篇文章:

conda和pip的区别-CSDN博客

然后还爆出了一堆的问题,解决着解决着,发现我这个mambair环境竟然用的是python3.8的版本,但是安装的东西都是基于python3.9的。(包括the mamba_ssm library)

我想输入以下命令来更改环境的python版本,但是报错啦,不知道什么原因

复制代码
conda install python=3.9

输入以下命令查看python版本:

复制代码
python --version

所以我把现有的mambair环境删了,再重新创一个

复制代码
conda create -n mambair python=3.9

此时如果再运行命令:

复制代码
conda env create -f environment.yaml

就会报出mambair环境已存在的错误,所以使用以下命令:

复制代码
(mambair) sczc338@ln01:~/run/MambaIR$ conda env update -f environment.yaml

报出如下错误:

复制代码
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'

Pip subprocess error:
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-ct238nq5/mamba-ssm_3efcc205c45c42afaa3b469462840fa1/setup.py", line 8, in <module>
          from packaging.version import parse, Version
      ModuleNotFoundError: No module named 'packaging'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

failed

CondaEnvException: Pip failed

主要注意这句话: ModuleNotFoundError: No module named 'packaging'

所以:

复制代码
conda install packaging

再输入命令:

复制代码
conda env update -f environment.yaml

报错啦

复制代码
Building wheels for collected packages: mamba-ssm
  Building wheel for mamba-ssm (setup.py): started
  Building wheel for mamba-ssm (setup.py): still running...
  Building wheel for mamba-ssm (setup.py): finished with status 'error'
  Running setup.py clean for mamba-ssm
Failed to build mamba-ssm

Pip subprocess error:
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [9 lines of output]
      No CUDA runtime is found, using CUDA_HOME='/data/home/sczc338/run/soft/cuda11.7'


      torch.__version__  = 2.0.1


      running bdist_wheel
      Guessing wheel URL:  https://github.com/state-spaces/mamba/releases/download/v1.0.1/mamba_ssm-1.0.1+cu118torch2.0cxx11abiFALSE-cp38-cp38-linux_x86_64.whl
      error: <urlopen error retrieval incomplete: got only 115343360 out of 146629955 bytes>
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for mamba-ssm
ERROR: Could not build wheels for mamba-ssm, which is required to install pyproject.toml-based projects

failed

CondaEnvException: Pip failed

hh应该是因为我没有启动cuda环境回去再弄。

输入:

复制代码
 source /data/home/sczc338/run/soft/cuda11.7/env.sh

再输入:

复制代码
conda env update -f environment.yaml

然后就成功了!!!

相关推荐
该用户已不存在15 小时前
Mojo vs Python vs Rust: 2025年搞AI,该学哪个?
后端·python·rust
站大爷IP17 小时前
Java调用Python的5种实用方案:从简单到进阶的全场景解析
python
用户8356290780511 天前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
侃侃_天下1 天前
最终的信号类
开发语言·c++·算法
c8i1 天前
python中类的基本结构、特殊属性于MRO理解
python
echoarts1 天前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
liwulin05061 天前
【ESP32-CAM】HELLO WORLD
python
Aomnitrix1 天前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
Doris_20231 天前
Python条件判断语句 if、elif 、else
前端·后端·python
Doris_20231 天前
Python 模式匹配match case
前端·后端·python