1.环境配置
首先,根据nnUNetv2的官方文档所示,现需要安装nnUNetv2,需要在Linux系统上进行安装。同时配置对应的环境变量,配置/home/user(用户目录下)的环境变量配置文件.bashrc。
pip install nnunetv2
然后git'下来nnUNet的副本,安装需要的 python包,同时根据自己需求是否安装hiddenlayer。
git clone https://github.com/MIC-DKFZ/nnUNet.git
cd nnUNet
pip install -e .
上述这些操作都可以根据官方文档中进行操作:nnUNet/documentation/installation_instructions.md at master · MIC-DKFZ/nnUNet (github.com)
2.数据处理
2.1配置存放数据的文件目录结构和对应的环境变量
这里主要描述的是使用MM_WHS_2017全心数据集进行操作时出现的问题。因为nnUNetv2是一个非常成熟的框架,我们准备好数据集,框架会帮我们进行数据预处理,官方给的文档都是使用命令行来操作。
首先,先创建一个文件夹,来存放raw原始数据、preprocessed处理后的数据、模型保存文件。分别创建的文件夹结构如下所示。
按照nnUNetv2官方提示,需要在Linux下的环境变量.bashrc配置文件中增加下面三行。但是我在修改完环境变量之后,使用os读不出来,所以我在nnuetv2.paths将对应的环境变量写死。
export nnUNet_raw = "/home/dluser/Genshin/DYD/PWHSeg/nnUNet/nnUNetFrame/DATASET/nnUNet_raw"
export nnUNet_preprocessed = "/home/dluser/Genshin/DYD/PWHSeg/nnUNet/nnUNetFrame/DATASET/nnUNet_preprocessed"
export nnUNet_results = "/home/dluser/Genshin/DYD/PWHSeg/nnUNet/nnUNetFrame/DATASET/nnUNet_trained_models"
import os
"""
nnunetv2.paths
PLEASE READ paths.md FOR INFORMATION TO HOW TO SET THIS UP
"""
# nnUNet_raw = os.environ.get('nnUNet_raw')
# nnUNet_preprocessed = os.environ.get('nnUNet_preprocessed')
# nnUNet_results = os.environ.get('nnUNet_results')
nnUNet_raw = "/home/dluser/Genshin/DYD/PWHSeg/nnUNet/nnUNetFrame/DATASET/nnUNet_raw"
nnUNet_preprocessed = "/home/dluser/Genshin/DYD/PWHSeg/nnUNet/nnUNetFrame/DATASET/nnUNet_preprocessed"
nnUNet_results = "/home/dluser/Genshin/DYD/PWHSeg/nnUNet/nnUNetFrame/DATASET/nnUNet_trained_models"
2.2原数据处理
因为nnUNetv2要求,数据的标签像素值需要从0,1,2....变换。但是MM_WHS_2017数据集中标签的像素值分别为[0, 205, 420, 500, 550, 600, 820, 850],所以需要对像素值进行转换处理。