网站建设及推广好做吗,台州路桥区专业高端网站设计,网站关键词排名,wordpress模板 图片站目录安装环境数据处理预处理训练测试MIC-DKFZ/nnUNet 选择Linux环境运行该项目#xff0c;Windows环境需要更改较多的参数#xff0c;暂不支持。
安装环境 安装cuda, cudnn#xff0c;已安装的检测cuda版本 检测cuda版本#xff1a; nvcc -v cd /usr/local nvidia-smiWindows环境需要更改较多的参数暂不支持。
安装环境 安装cuda, cudnn已安装的检测cuda版本 检测cuda版本 nvcc -v cd /usr/local nvidia-smi错误方式 安装对应cuda版本的pytorch 验证 python -c import torch;print(torch.backends.cudnn.version())
# 8005, 显示类似此内容python -c import torch;print(torch.__version__)
# 1.10.1cu111, 显示类似此内容安装nnUNet # 安装nnunet
pip install nnunet
git clone https://github.com/MIC-DKFZ/nnUNet.git
cd nnUNet
pip install -e .# 设置环境变量
vim ~/.bashrc
export nnUNet_raw_data_base/root/nnUNet_raw_data_base
export nnUNet_preprocessed/root/nnUNet_preprocessed
export RESULTS_FOLDER/root/nnUNet_trained_models
source ~/.bashrc注意nnUNet_preprocessed的路径要指向SSD上否则的话速度会慢很多。 安装hiddenlayer可选 pip install hiddenlayer数据处理 文件夹目录 └─Task09_Spleen│ dataset.json│ ├─imagesTr│ spleen_2.nii.gz│ spleen_3.nii.gz│ spleen_6.nii.gz│ spleen_8.nii.gz│ spleen_9.nii.gz│ ...├─imagesTs│ spleen_1.nii.gz│ spleen_7.nii.gz│ ...└─labelsTrspleen_2.nii.gzspleen_3.nii.gzspleen_6.nii.gzspleen_8.nii.gzspleen_9.nii.gz...json文件信息 nnUNet/nnunet/dataset_conversion/utils.py里面的函数generate_dataset_json可以生成相应任务的json文件。 {
name: Spleen,
description: Spleen Segmentation,
reference: Memorial Sloan Kettering Cancer Center,
licence:CC-BY-SA 4.0,
release:1.0 06/08/2018,
tensorImageSize: 3D,
modality: { 0: CT}, labels: { 0: background, 1: spleen}, numTraining: 41, numTest: 20,training:[{image:./imagesTr/spleen_2.nii.gz,label:./labelsTr/spleen_2.nii.gz},{image:./imagesTr/spleen_3.nii.gz,label:./labelsTr/spleen_3.nii.gz},{image:./imagesTr/spleen_6.nii.gz,label:./labelsTr/spleen_6.nii.gz},{image:./imagesTr/spleen_8.nii.gz,label:./labelsTr/spleen_8.nii.gz},{image:./imagesTr/spleen_9.nii.gz,label:./labelsTr/spleen_9.nii.gz},...],test:[./imagesTs/spleen_1.nii.gz,./imagesTs/spleen_7.nii.gz,...]} 注意modality一定要是CT可以是小写。因为不同的modality归一化的方式不同 转换数据 nnUNet_convert_decathlon_task -i /xxx/Task09_Spleen转换的数据存在nnUNet_raw_data_base/nnUNet_raw_data/Task009_Spleen唯一区别就是imagesTr和imagesTs里的文件名加了后缀_0000。 注意此处Task09_Spleen变为Task009_Spleen。
预处理
# 只进行3d预处理不进行2d预处理
nnUNet_plan_and_preprocess -t 09 -pl2d None主要对数据进行预处理包括Crop, Resample, Normalization等。
训练
如果训练断了可以在命令行后面加-c继续训练。 Lowres训练 nnUNet_train 3d_lowres nnUNetTrainerV2 09 0Fullres训练 nnUNet_train 3d_fullres nnUNetTrainerV2 09 0Cascade训练 # 先训练完lowres的所有folds
nnUNet_train 3d_lowres nnUNetTrainerV2 09 0
nnUNet_train 3d_lowres nnUNetTrainerV2 09 1
nnUNet_train 3d_lowres nnUNetTrainerV2 09 2
nnUNet_train 3d_lowres nnUNetTrainerV2 09 3
nnUNet_train 3d_lowres nnUNetTrainerV2 09 4nnUNet_train 3d_cascade_fullres nnUNetTrainerV2CascadeFullRes 09 0测试 预测 # lowres预测
nnUNet_predict -i /root/nnUNet_raw_data_base/nnUNet_raw_data/Task009_Spleen/imagesTs -o /root/nnUNet_trained_models/nnUNet/3d_lowres/Task009_Spleen/nnUNetTrainerV2__nnUNetPlansv2.1/fold_0/infer -t 09 -m 3d_lowres# fullres预测
nnUNet_predict -i /root/nnUNet_raw_data_base/nnUNet_raw_data/Task009_Spleen/imagesTs -o /root/nnUNet_trained_models/nnUNet/3d_fullres/Task009_Spleen/nnUNetTrainerV2__nnUNetPlansv2.1/fold_0/infer -t 09 -m 3d_fullres# lowres预测
nnUNet_predict -i /root/nnUNet_raw_data_base/nnUNet_raw_data/Task009_Spleen/imagesTs -o /root/nnUNet_trained_models/nnUNet/3d_cascade_fullres/Task009_Spleen/nnUNetTrainerV2CascadeFullRes__nnUNetPlansv2.1/fold_0/infer -t 09 -m 3d_cascade_fullres评价 nnUNet_evaluate_folder -ref labelsTs_dir -pred infer_dir -l 1labelsTs_dir, 测试集的labelinfer_dir, 测试集的预测mask。 如果是四分类则-l 1 2 3