「 nnunet实战-全流程使用nnunet模型跑自己的数据集」

下载源码:

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

安装依赖包 pip install nnunetv2

准备数据集

nnUNet文件下创建nnUNetFrame文件夹nnUNetFrame中创建DATASET的文件夹》 DATASET文件夹中nnUNet_rawnnUNet_preprocessednnUNet_results nnUNet_raw放数据集( Task01_BrainTumour 数据集中imagesTr(训练数据集)、imagesTs(测试数据集)、 labelsTr(对应标签文件)

修改框架路径

nnUNet/nnunetv2/paths.py

对应修改数据集路径

nnUNet_raw='/data2/zhangbei/nnUNet/nnUNetFrame/DATASET/nnUNet_raw’

nnUNet_preprocessed='/data2/zhangbei/nnUNet/nnUNetFrame/DATASET/nnUNet_preprocessed’

nnUNet_results='/data2/zhangbei/nnUNet/nnUNetFrame/DATASET/nnUNet_results’

制作数据集

nnUNet/nnunetv2/dataset_conversion/convert_MSD_dataset.py 

修改line 132 数据目录和任务编码(注意指定任务编码为500以上)

生成nnUNetFrame/DATASET/nnUNet_raw/Dataset500_BrainTumour   

转换后文件格式:BRATS_001_0000.nii.gz

构建数据json文件

nnunetv2/create_json.py

修改:line 14 数据目录 

path_originalData = "/data2/zhangbei/nnUNet/nnUNetFrame/DATASET/nnUNet_raw/Dataset500_BrainTumour/"

修改模态信息 (还可以加入“1”:“MRI”之类的描述)

json_dict['modality'] = {
    "0": "CT"
}

line 72 标签数量  range(4)表示4种类别(包括背景)

json_dict['labels'] = {i: str(i) for i in range(4)} 

运行后在数据集目录下生成的data.json文件

检查数据集

nnunetv2/experiment_planning/ verify_dataset_integrity.py

修改line 232 数据目录

    example_folder = join(nnUNet_raw, '/data2/zhangbei/nnUNet/nnUNetFrame/DATASET/nnUNet_raw/Dataset500_BrainTumour')

run运行

预处理

终端 cd nnunetv2/experiment_planning

执行指令:

python plan_and_preprocess_entrypoints.py –d 500 #500为数据集任务名

在nnUNetFrame/DATASET/nnUNet_preprocessed路径下生成一系列文件

训练网络

退回上一级文件命令 cd ..

终端 cd nnunetv2/run

python run_training.py Dataset500_BrainTumour 3d_loweres 4

生成nnUNetFrame/DATASET/nnUNet_results下文件

注意:

Epochnnunetv2/training/nnUNetTrainer/nnUNetTrainer.py中修改    self.num_epochs = 500

可能存在eopch到500依旧继续训练,nnunet默认1000轮

 python run_training.py Dataset521_Hippocampus 3d_fullres 4 -tr nnUNetTrainer_5epochs

只有1,5,10,20能运行

run_trainning.py    if __name__ == '__main__':   

CUDA_VISIBLE_DEVICES=X  #指定显卡

batch_size 在nnUNetFrame/DATASET/nnUNet_preprocessed/Dataset521_Hippocampus/nnUNetPlans.json中修改

预测网络

cd nnunetv2/inference

predict_from_raw_data.py  修改 line 872 876 877 884 中数据集名称

line 874 Use_flods(0, ), -----> Use_flods(4, ),  

python predict_from_raw_data.py

生成相关文件Dataset500_BrainTumour /imagesTs_predlowres

参考nnunetV2实操分享和代码精读倡议_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1Xw411z7E7/?spm_id_from=333.337.search-card.all.click&vd_source=603a91c069f6a08291615fe3a37ac042nnU-Net v2的环境配置到训练自己的数据集(详细步骤)_nnunetv2-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/m0_45521766/article/details/131539779

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值