代码来源:https://github.com/MIC-DKFZ/nnUNet

第一步:下载代码配置环境

下载好代码以后,配置所需要的环境(不详细说啦)

pip install -e.;pip install pillow==7.1.2;

第二步:设置数据集路径

1、首先建立一个dataset文件夹,下面有这几个文件夹

nnUNet_raw_data_base:这是 nnU-Net 找到原始数据并存储裁剪数据的地方。nnUNet_raw_data_base 的文件夹必须至少具有子文件夹 nnUNet_raw_data,而该子文件夹又包含每个任务的一个子文件夹。另外必须将原始数据转换为.nii.gz格式。

nnUNet_preprocessed:这是保存预处理数据的文件夹。训练期间也将从该文件夹中读取数据。

2、然后通过运行nnUNet/Task043_BraTS_2019.py at master · MIC-DKFZ/nnUNet · GitHub​​​​​​这个现成的脚本自动生成如下的示例结构。当然需要修改一下代码,尤其是原数据的路径,以及nnUNet_raw_data的路径。

cd /home/xuejie/wfy/nnUNet-master/nnunet/dataset_conversion
python Task043_BraTS_2019.py

示例结构:

nnUNet_raw/nnUNet_raw_data/Task043_BraTS2019
├── dataset.json
├── imagesTr
│   ├── la_003_0000.nii.gz
│   ├── la_004_0000.nii.gz
│   ├── ...
├── imagesTs
│   ├── la_001_0000.nii.gz
│   ├── la_002_0000.nii.gz
│   ├── ...
└── labelsTr├── la_003.nii.gz├── la_004.nii.gz├── ...

其中imagesTr是训练集,imagesTs是测试集(可空),imagesVal是验证集,labelsTr是训练集对应的分割结果,dataset.json保存整个任务数据的信息。

3、nnU-Net 依靠环境变量来了解原始数据、预处理数据和训练模型权重的存储位置。要使用 nnU-Net 的全部功能,必须设置以下三个环境变量

在文本编辑器中打开文件后,将以下行添加到底部:

export nnUNet_raw_data_base="/home/xuejie/wfy/nnUNet-master/dataset/nnUNet_raw"
export nnUNet_preprocessed="/home/xuejie/wfy/nnUNet-master/dataset/nnUNet_preprocessed"
export RESULTS_FOLDER="/home/xuejie/wfy/nnUNet-master/dataset/nnUNet_trained_models"

路径需要换成对应的这三个文件夹的路径

4、运行:

nnUNet_plan_and_preprocess -t 043

-t后面跟的是你的任务号,这步预处理成功之后会在preprocessed下生成Task043_BraTS2019文件夹。

到现在数据集设置就完成啦!

第三步:运行

PYTHONIOENCODING=utf-8 nnUNet_train 3d_fullres nnUNetTrainerV2 043 4 --fp32

3d_fullres nnUNetTrainerV2——训练模型

043——任务号

4 ——五折交叉验证

就可以成功运行啦!

不过光看教程的话肯定不行,得自己一步步试错,欢迎大家和我交流奥!

参考:nnUNet使用教程(使用自己的数据训练自己的模型)_SetMaker的博客-CSDN博客_nnunet

#萌新日志#2. 使用BraTS 2020数据集训练nnUNet(多模态和单模态)_苏黎世下雪了吗的博客-CSDN博客_brats2020

nnUnet+braTS2021使用代码解析相关推荐

  1. matrix_multiply代码解析

    matrix_multiply代码解析 关于matrix_multiply 程序执行代码里两个矩阵的乘法,并将相乘结果打印在屏幕上. 示例的主要目的是展现怎么实现一个自定义CPU计算任务. 参考:ht ...

  2. CornerNet代码解析——损失函数

    CornerNet代码解析--损失函数 文章目录 CornerNet代码解析--损失函数 前言 总体损失 1.Heatmap的损失 2.Embedding的损失 3.Offset的损失 前言 今天要解 ...

  3. 视觉SLAM开源算法ORB-SLAM3 原理与代码解析

    来源:深蓝学院,文稿整理者:何常鑫,审核&修改:刘国庆 本文总结于上交感知与导航研究所科研助理--刘国庆关于[视觉SLAM开源算法ORB-SLAM3 原理与代码解析]的公开课. ORB-SLA ...

  4. java获取object属性值_java反射获取一个object属性值代码解析

    有些时候你明明知道这个object里面是什么,但是因为种种原因,你不能将它转化成一个对象,只是想单纯地提取出这个object里的一些东西,这个时候就需要用反射了. 假如你这个类是这样的: privat ...

  5. python中的doc_基于Python获取docx/doc文件内容代码解析

    这篇文章主要介绍了基于Python获取docx/doc文件内容代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 整体思路: 下载文件并修改后缀 ...

  6. mongoose框架示例代码解析(一)

    mongoose框架示例代码解析(一) 参考: Mongoose Networking Library Documentation(Server) Mongoose Networking Librar ...

  7. ViBe算法原理和代码解析

    ViBe - a powerful technique for background detection and subtraction in video sequences 算法官网:http:// ...

  8. 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )

    文章目录 一.PyCharm 中进行断点调试 二.ELFFile 实例对象分析 一.PyCharm 中进行断点调试 在上一篇博客 [Android 逆向]使用 Python 代码解析 ELF 文件 ( ...

  9. 密码算法中iv值是什么_?标检测中的?极?值抑制算法(nms):python代码解析

    ⾮极⼤值抑制(Non-Maximum Suppression)原理 ⾮极⼤值抑制,顾名思义,找出极⼤值,抑制⾮极⼤值.这种思路和算法在各个领域中应⽤⼴泛,⽐如边缘检测算法canny算⼦中就使⽤了该⽅法 ...

最新文章

  1. eclipse+adt下开发android微信红包自动抢(AccessibilityService类)
  2. 命令行 sc delete 的使用(删除服务项)
  3. 汇总Web前端开发工程师需要注意的一些开发规范
  4. loadrunner录制脚本,页面无法显示
  5. JQuery 加载 CSS、JS 文件
  6. ajax是宏任务还是微任务,(滴滴面试)事件循环Event Loop及微任务和宏任务的执行过程详解...
  7. Pytorch 手工复现交叉熵损失(Cross Entropy Loss)
  8. FGSM论文阅读笔记
  9. Python代码: 把几个PDF文件拼接为一个 Merge PDF files
  10. SuiteCRM 跨站脚本漏洞复现(CVE-2020-14208)
  11. calfcamel 的 2333
  12. GPS定位为什么需要4颗以上卫星?
  13. 第四回:产品创新性思维方法论
  14. Web程序中打开QQ、邮箱、阿里旺旺等
  15. 《前端》JavaScript总结
  16. 试穿APP的NABCD
  17. 零基础python入门书籍推荐书目_清华大学出版社-图书详情-《Python数据科学零基础一本通》...
  18. android动态壁纸的制作
  19. 洛谷P1386座位安排
  20. 软工1816 · Alpha冲刺(4/10)

热门文章

  1. 站群程序程序介绍泛目录站群免费下载(无需引蜘蛛)
  2. Stable Diffusion公司新作Gen-1:基于扩散模型的视频合成新模型,加特效杠杠的!...
  3. ios把矢量图转成代码
  4. kafka 两段式提交_如何理解两阶段提交?
  5. 【架构】RPC 使用 Haproxy、keepalive作为负载均衡
  6. CRM客户管理软件就是软件?企典Teamface正确为您解读
  7. 20110624 微易CRM客户管理软件
  8. 冒泡和快速排序的时间复杂度_凡人能看懂的冒泡排序和快速排序
  9. python time包中的time.time()和time.clock()的区别
  10. AES加密算法原理及实现