配置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

然后就成功了!!!

相关推荐
狐凄1 小时前
Python实例题:使用Pvthon3编写系列实用脚本
java·网络·python
董先生_ad986ad3 小时前
C# 中的 `lock` 关键字本质
开发语言·c#
元亓亓亓3 小时前
Java后端开发day36--源码解析:HashMap
java·开发语言·数据结构
道剑剑非道3 小时前
QT 打包安装程序【windeployqt.exe】报错c000007d原因:Conda巨坑
开发语言·qt·conda
小邓儿◑.◑4 小时前
C++武功秘籍 | 入门知识点
开发语言·c++
码银6 小时前
Java 集合:泛型、Set 集合及其实现类详解
java·开发语言
大G哥6 小时前
PHP标签+注释+html混写+变量
android·开发语言·前端·html·php
傻啦嘿哟6 小时前
HTTP代理基础:网络新手的入门指南
开发语言·php
fish_study_csdn6 小时前
pytest 技术总结
开发语言·python·pytest
咖啡调调。6 小时前
使用Django框架表单
后端·python·django