nnUnet+braTS2021使用代码解析
代码来源: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使用代码解析相关推荐
- matrix_multiply代码解析
matrix_multiply代码解析 关于matrix_multiply 程序执行代码里两个矩阵的乘法,并将相乘结果打印在屏幕上. 示例的主要目的是展现怎么实现一个自定义CPU计算任务. 参考:ht ...
- CornerNet代码解析——损失函数
CornerNet代码解析--损失函数 文章目录 CornerNet代码解析--损失函数 前言 总体损失 1.Heatmap的损失 2.Embedding的损失 3.Offset的损失 前言 今天要解 ...
- 视觉SLAM开源算法ORB-SLAM3 原理与代码解析
来源:深蓝学院,文稿整理者:何常鑫,审核&修改:刘国庆 本文总结于上交感知与导航研究所科研助理--刘国庆关于[视觉SLAM开源算法ORB-SLAM3 原理与代码解析]的公开课. ORB-SLA ...
- java获取object属性值_java反射获取一个object属性值代码解析
有些时候你明明知道这个object里面是什么,但是因为种种原因,你不能将它转化成一个对象,只是想单纯地提取出这个object里的一些东西,这个时候就需要用反射了. 假如你这个类是这样的: privat ...
- python中的doc_基于Python获取docx/doc文件内容代码解析
这篇文章主要介绍了基于Python获取docx/doc文件内容代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 整体思路: 下载文件并修改后缀 ...
- mongoose框架示例代码解析(一)
mongoose框架示例代码解析(一) 参考: Mongoose Networking Library Documentation(Server) Mongoose Networking Librar ...
- ViBe算法原理和代码解析
ViBe - a powerful technique for background detection and subtraction in video sequences 算法官网:http:// ...
- 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )
文章目录 一.PyCharm 中进行断点调试 二.ELFFile 实例对象分析 一.PyCharm 中进行断点调试 在上一篇博客 [Android 逆向]使用 Python 代码解析 ELF 文件 ( ...
- 密码算法中iv值是什么_?标检测中的?极?值抑制算法(nms):python代码解析
⾮极⼤值抑制(Non-Maximum Suppression)原理 ⾮极⼤值抑制,顾名思义,找出极⼤值,抑制⾮极⼤值.这种思路和算法在各个领域中应⽤⼴泛,⽐如边缘检测算法canny算⼦中就使⽤了该⽅法 ...
最新文章
- eclipse+adt下开发android微信红包自动抢(AccessibilityService类)
- 命令行 sc delete 的使用(删除服务项)
- 汇总Web前端开发工程师需要注意的一些开发规范
- loadrunner录制脚本,页面无法显示
- JQuery 加载 CSS、JS 文件
- ajax是宏任务还是微任务,(滴滴面试)事件循环Event Loop及微任务和宏任务的执行过程详解...
- Pytorch 手工复现交叉熵损失(Cross Entropy Loss)
- FGSM论文阅读笔记
- Python代码: 把几个PDF文件拼接为一个 Merge PDF files
- SuiteCRM 跨站脚本漏洞复现(CVE-2020-14208)
- calfcamel 的 2333
- GPS定位为什么需要4颗以上卫星?
- 第四回:产品创新性思维方法论
- Web程序中打开QQ、邮箱、阿里旺旺等
- 《前端》JavaScript总结
- 试穿APP的NABCD
- 零基础python入门书籍推荐书目_清华大学出版社-图书详情-《Python数据科学零基础一本通》...
- android动态壁纸的制作
- 洛谷P1386座位安排
- 软工1816 · Alpha冲刺(4/10)
热门文章
- 站群程序程序介绍泛目录站群免费下载(无需引蜘蛛)
- Stable Diffusion公司新作Gen-1:基于扩散模型的视频合成新模型,加特效杠杠的!...
- ios把矢量图转成代码
- kafka 两段式提交_如何理解两阶段提交?
- 【架构】RPC 使用 Haproxy、keepalive作为负载均衡
- CRM客户管理软件就是软件?企典Teamface正确为您解读
- 20110624 微易CRM客户管理软件
- 冒泡和快速排序的时间复杂度_凡人能看懂的冒泡排序和快速排序
- python time包中的time.time()和time.clock()的区别
- AES加密算法原理及实现