0%

MambaIRv2模型的测试与训练

作为一个科研小白,对咱们来说非常重要的一项技能便是模型复现的入门到入土(
接下来我们以CVPR2025年的一个工作–MambaIRv2为例,学习如何复现一篇论文

step1 阅读论文,理解原理

理论是要走在实践前面的(起码论文复现要先看懂论文)
MambaIR是ECCV2024的一篇工作,将Mamba应用到了图像修复领域

MambaIRv2是它的二代,解决了扫描时的强制因果,加入了注意力机制,但又避免了复杂的计算
MambaIRv2: Attentive State Space Restoration
具体细节这里不过多阐述,需要自己去看论文

step2 测试

我用的是autoDL上的V100进行测试,应该是完全足够的
注意 PyTorch ≥ 2.0,cuda ≥ 11.7

  1. 先进入到你想放的文件夹(不需要先创建一个MambaIR,因为git clone的时候会自行创建)
  2. 克隆github上的代码,并了解项目结构
1
git clone https://github.com/csguoh/MambaIR.git
  1. 准备环境
1
2
3
cd MambaIR
conda env create -f environment.yaml
conda activate mambair

这一步需要很久
环境安装一般不会一帆风顺,但是求助AI大概率可以解决

  • 常见会出现packaging不见啊,requirements装不了之类的错误,解决办法是在env内pip好packaging,再用命令把requirements分成conda包和pip包分别安装
1
2
3
4
5
6
7
8
9
pip install packaging

grep -v "pypi_0" requirements.txt | awk -F= '{print $1"="$2}' > conda_requirements.txt
grep "pypi_0" requirements.txt | awk -F= '{print $1"=="$2}' > pip_requirements.txt
# 先用 conda 安装
conda install --file conda_requirements.txt

# 再用 pip 安装
pip install --no-build-isolation -r pip_requirements.txt
  • mamba-ssm 编译失败
    包的具体版本要查看自己当前的环境配置
1
2
3
4
5
6
wget https://github.com/state-spaces/mamba/releases/download/v1.0.1/mamba_ssm-1.0.1+cu118torch2.0cxx11abiTRUE-cp38-cp38-linux_x86_64.whl
pip install mamba_ssm-1.0.1+cu118torch2.0cxx11abiTRUE-cp38-cp38-linux_x86_64.whl

wget https://github.com/Dao-AILab/causal-conv1d/releases/download/v1.4.0/causal_conv1d-1.4.0+cu118torch2.0cxx11abiTRUE-cp38-cp38-linux_x86_64.whl
pip install causal_conv1d-1.4.0+cu118torch2.0cxx11abiTRUE-cp38-cp38-linux_x86_64.whl

  1. 准备数据集
    我只测试SR,那么就只需要下载SR的数据并保存到对应路径下
    数据在 https://github.com/csguoh/MambaIR.git 上有,下载好压缩包并放到datasets文件下,解压
  2. 准备模型权重文件(未训练直接测试)
    https://github.com/csguoh/MambaIR/releases 下寻找合适的权重文件,放到experiments下的pretrained里,也可以通过命令:
1
wegt https://github.com/csguoh/MambaIR/releases/<file name>
  1. 修改测试文件
    在/MambaIR/experiments/pretrained_models下,选择自己想选的文件,打开,并将测试集数据路径和文件路径都改成自己的,(注意要从根目录开始)
  2. 运行test
1
2
# 根据自己的选择更改命令
python basicsr/test.py -opt options/test/mambairv2/test_MambaIRv2_SRSmall_x4.yml
欢迎打赏