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

然后就成功了!!!

相关推荐
0x000721 小时前
译 Anders Hejlsberg 谈 C# 与 .NET
开发语言·c#·.net
TechWayfarer21 小时前
IP精准定位服务在快递网点规划中的应用:如何用客户位置数据辅助选址
大数据·网络·python·tcp/ip·交通物流
czhaii21 小时前
基于51单片机的Modbus从机通信系统
开发语言·单片机
elseif12321 小时前
【C++】vector 详细版
开发语言·c++·算法
codingPower21 小时前
JAVA后端安全进阶:基于HMAC-SHA256+Nonce+Timestamp的API防重放攻击方案
java·开发语言·spring boot·安全
暗冰ཏོ21 小时前
Go 语言从入门到后端项目实战完整指南
开发语言·后端·golang·go·go语言
CSND74021 小时前
零基础学Python合集---3:字符串的定义和常用方法
人工智能·python
Xin_ye1008621 小时前
C# 零基础到精通教程 - 第十七章:前端集成——Blazor 基础
开发语言·c#
LDR00621 小时前
LDR6020:多 Type‑C 端口角色管理与外设上电顺序的智慧核心
c语言·开发语言·云计算
小杍随笔1 天前
【Rust 工具链管理完全指南:rustup toolchain 命令实战详解】
开发语言·后端·rust