title: U-Mamba复现
date: 2024-11-07 05:58:11
tags: 代码复现

简介

GitHub地址:https://github.com/bowang-lab/U-Mamba

论文:https://arxiv.org/abs/2401.04722

数据和causal_conv1d 和 mamba文件下载:夸克网盘分享

参考

数据集:腹部MRI数据

环境安装

  1. 创建conda环境并激活。

#切换目录
cd autodl-tmp
#创建环境变量
conda create -n umamba1 python=3.10 -y
​
#刷新环境变量
conda init bash && source /root/.bashrc
​
#激活环境
conda activate umamba1 

  1. 安装pytorch库。

pip install torch==2.0.1 torchvision==0.15.2 --index-url https://download.pytorch.org/whl/cu118

  1. 安装causal_conv1d 和 mamba。(按官网的方法会报错,这里用本地上传和安装的方法)

  • #安装离线包,顺序不要搞错
    pip install causal_conv1d-1.1.3.post1+cu118torch2.1cxx11abiFALSE-cp310-cp310-linux_x86_64.whl 
    ​
    pip install mamba_ssm-1.1.1+cu118torch2.1cxx11abiFALSE-cp310-cp310-linux_x86_64.whl
  • #验证 没有报错就是安装成功
    import torch
    import mamba_ssm

  1. 克隆U-Mamba项目和安装剩余的依赖包

    #克隆U-Mamba项目 也是在autodl-tmp目录下
    git clone https://github.com/bowang-lab/U-Mamba.git
    ​
    #安装umamba 所需要的其他依赖包
    cd U-Mamba/umamba  #进入路径
    pip install -e .    #安装

上传和处理数据

  1. 数据结构

data/

└─dataset.json #包含数据类别,数量和模态等信息

└─nnUNet_preprocessed #存放预处理数据

└─nnUNet_results #存放训练模型结果 </u> └─nnUNet_raw <u>#存放原始数据 └─Dataset702_AbdomenMR #数据集命名,Dataset三位数_数据名(Dataset703_ABC)              ├─imagesTr                 #训练用的原始数据,每个名字补_0000

                ├─amos_0507_0000.nii.gz               

                ├─amos_0608_0000.nii.gz

         ├─imagesTs                  #测试用的原始数据(非必需)                 ├─amos_0901_0000.nii.gz             

                ├─amos_0902_0000.nii.gz

        ├─labelsTr                    #训练用的原始数据对应的mask                     

                ├─amos_0507.nii.gz           

                ├─amos_0608.nii.gz

       ├─labelsTs                #测试用的原始数据对应的mask(非必需)                                ├─amos_0901.nii.gz            

                ├─amos_0902.nii.gz         

      ├─predictTs #存放推理mask结果(非必需)

  1. 上传data.zip到U-mamba目录下,并解压数据

  • 使用FileZilla上传data.zip

  • unzip -d ./data data.zip #解压文件
    ​
    #以下是配置环境变量
    export nnUNet_raw="autodl-tmp/U-Mamba/data/nnUNet_raw"
    export nnUNet_preprocessed="autodl-tmp/U-Mamba/data/nnUNet_preprocessed"
    export nnUNet_results="autodl-tmp/U-Mamba/data/nnUNet_results"

解压时遇到这个提示键盘输入A

预处理数据、训练和推理

  1. 预处理数据

    nnUNetv2_plan_and_preprocess -d 702 --verify_dataset_integrity

  1. 训练

#使用UMamba模型训练
nnUNetv2_train 702 3d_fullres all -tr nnUNetTrainerUMambaBot

  1. 推理

    #使用UMamba模型推理
    nnUNetv2_predict -i ~/autodl-tmp/U-Mamba/data/nnUNet_raw/Dataset702_AbdomenMR/imagesTs -o ~/autodl-tmp/U-Mamba/data/nnUNet_raw/Dataset702_AbdomenMR/predictTs -d 702 -c 3d_fullres -f all -tr nnUNetTrainerUMambaBot -chk checkpoint_best.pth

训练好的结果用ITK-SNAP打开

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐