文章目录
- 安装
- 下载以及预处理实验数据
- 预处理数据
- 修改源代码错误
- train
- test
简介:我们介绍了nnFormer(not-another transFormer),一种用于3D医学图像分割的 transformer。
nnFormer 不仅使用了卷积和自注意力的结合,还引入了基于局部和全局体积的自注意机制来学习体积表示。
此外,nnFormer 建议使用跳跃注意来取代U-Net类体系结构中跳跃连接中的传统操作。
实验表明,在三个公共数据集上,nnFormer 性能显著。与 nnUNet 相比,nnFormer 产生的HD95显著降低,DSC结果也具有可比性。此外,nnFormer 和 nnUNet 在模型融合中是高度互补的。nnFormer的代码也是基于nnUNet改的。
,
因此,只要用过 nnUNet, 这部分代码相对顺畅
不用写代码神器!教你用4行命令轻松使用nnUNet训练自己的医学图像分割模型
本教程难度:
没使用过nnUNet: ⭐️⭐️⭐️⭐️
使用过nnUNet: ⭐️⭐️
难点在于安装环境,下载数据,预处理数据,训练和测试都是一句命令就搞定。前期工作要做好。
安装
1.官方系统版本
Ubuntu 18.01、Python 3.6、PyTorch 1.8.1 和 CUDA 10.1 。有关软件包和版本号的完整列表,请参阅 Conda 环境文件 environment.yml。
- 安装步骤
建议使用 conda 包管理器安装所需的包
git clone https://github.com/282857341/nnFormer.git
(默认下载位置不同,下载下来后找不到百度一下)
cd nnFormer (将整个文件剪切到你日常的项目所在文件夹,方便使用)
conda env create -f environment.yml (这一步会创建叫nnFormer的conda环境)
source activate nnFormer
pip install -e .
这一步安装,如果网络不好,多半是会出错的。是在不行的话,建议手动创建一个环境conda create -n nnFormer python=3.6
, 并手动安装 environment.yml 文件里面需要的包。
下载以及预处理实验数据
官方使用了三个数据集,每个数据集都有各自的model,train, inference.
所以实验的时候一定要指定使用的数据集。
本教程使用的是Brain_tumor数据集,下载的时候是task01_Braintomor,重命名为 Task03_tumor(该论文中task03才是brain tumor, 要对应。)
下载不下来的同学可以去我网盘下载:
链接: https://pan.baidu.com/s/1TChc4yXZjPlv9ApqS-OHkQ 提取码: c0mj
受网盘上传限制,一共3个压缩包,把它解压后放在Task03_tumor文件夹下。包含以下内容
预处理数据
我们要像nnUNet那样,数据有严格的格式。
首先创建以下文件夹
其中DATASET
随便你放置在哪里,为了方便,我放在了nnFormer里面, 图片上标注了文件夹级别,不要搞错了哦。本实验第四级别只需要Task03_tumor,把刚才下好的文件夹放进来。
注意:下载的数据有一个dataset.json,这个里面的训练集和测试集同nnFormer不一样。你可以按照现在的划分进行下一步,但是这个测试集里的数据没有ground truth, 在做测试的时候就无法求dice. 如果你想要知道测试集的性能,就按照nnFormer的dataset.json重新划分imagesTr, imagesTs, labelsTr, labelsTs. nnFormer是把训练集再次划分为训练集和测试集,因此他的测试集才有ground truth。(啰嗦这么多,不知道讲清楚么
标签:Transformer,--,nnFormer,nnUNet,tumor,train,霸榜,nnformer,数据 From: https://blog.51cto.com/u_16159492/6481749