0%

nn-UNet 使用

Github地址

https://github.com/MIC-DKFZ/nnUNet

安装

作者Github上说最好不要用conda,但自己机器已有环境都是用的conda,看其他人说使用conda没问题,那自己也试一下

安装虚拟环境

1
2
conda create -n nnunet python==3.7
conda activate nnunet

安装pytorch

1
pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

安装Nvidia-Apex

这是英伟达的一个用于混合精度训练的插件,请不要直接pip,跟着下面的操作来:

  • 打开Apex所在的项目网站,翻页到QuickStart

  • 在用来安装环境的目录下打开终端

    1
    git clone https://github.com/NVIDIA/apex
  • 切换工作目录到apex

    1
    cd apex
  • 安装apex

    1
    pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

安装hiddenlayer

1
pip install --upgrade git+https://github.com/nanohanno/hiddenlayer.git@bugfix/get_trace_graph#egg=hiddenlayer

安装nnunet

1
2
3
git clone https://github.com/MIC-DKFZ/nnUNet.git
cd nnUNet
pip install -e .

遇到问题:

ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.

We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.

batchgenerators 0.20.1 requires pillow<7.1, but you'll have pillow 7.2.0 which is incompatible.

解决方案: 对pillow进行降级处理

1
pip install pillow==7.0.0

配置KiTS

数据预处理

nnunet已写好kits19的脚本,修改nnunet/dataset_conversion/Task040_KITS.py中数据的输入输出位置即可

运行该python脚本对数据进行预处理

在nnunet目录下创建数据集文件夹

  • nnUNet_preprocessed
  • nnUNet_raw/nnUNet_cropped_data
  • nnUNet_raw/nnUNet_raw_data
  • nnUNet_trained_models

nnUNet_raw/nnUNet_raw_data目录下创建比赛数据的文件夹(如Task040_kits)

将数据集路径填写到配置文件中

1
vim ~/.bashrc
1
2
3
export nnUNet_raw_data_base="/home/nnUNet/DATASET/nnUNet_raw"
export nnUNet_preprocessed="/home/nnUNet/DATASET/nnUNet_preprocessed"
export RESULTS_FOLDER="/home/nnUNet/DATASET/nnUNet_trained_models"
1
source ~/.bashrc

预处理

1
nnUNet_plan_and_preprocess -t 40

参考文献