【nnunet】个人数据训练心得

这篇具有很好参考价值的文章主要介绍了【nnunet】个人数据训练心得。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装:

pip install nnunetv2
## 或者是把他下载下来,自行安装
git clone https://github.com/MIC-DKFZ/nnUNet.git
cd nnUNet
pip install -e .

GitHub代码:

GitHub - MIC-DKFZ/nnUNet

十项医学分割数据集:

Medical Segmentation Decathlon

注意:安装时一定不能使用魔法,否则会被伏地魔(False)

配置:

这里有几个铁汁,可以一起参考,以他们的为主,我的为辅,一起食用

(四:2020.07.28)nnUNet最舒服的训练教程(让我的奶奶也会用nnUNet(上))(21.04.20更新)_nnuet_花卷汤圆的博客-CSDN博客

nnUNet实战一使用预训练nnUNet模型进行推理_Tina姐的博客-CSDN博客

nnUNet 使用不完全指南(上) - No Visitor Website(这里有自定义生成json的代码)

我引用一下吧:

from collections import OrderedDict
from batchgenerators.utilities.file_and_folder_operations import save_json
   
   
def main():
    foldername = "Task128_LungLobe"
    numTraining = 80
    numTest = 6
    numClass = 6
    json_dict = OrderedDict()
    json_dict['name'] = foldername
    json_dict['description'] = foldername
    json_dict['tensorImageSize'] = "4D"
    json_dict['reference'] = "see challenge website"
    json_dict['licence'] = "see challenge website"
    json_dict['release'] = "0.0"
    json_dict['modality'] = {
        "0": "CT",
    }
    json_dict['labels'] = {i: str(i) for i in range(numClass)}
   
    json_dict['numTraining'] = numTraining
    json_dict['numTest'] = numTest
    json_dict['training'] = [{'image': "./imagesTr/LungLobe_{:0>3d}.nii.gz".format(i),
                              "label": "./labelsTr/LungLobe_{:0>3d}.nii.gz".format(i)}
                             for i in range(numTraining)]
   
    json_dict['test'] = ["./imagesTs/LungLobe_{:0>3d}.nii.gz".format(i)
                         for i in range(numTraining, numTraining+numTest)]
   
    save_json(json_dict, "./dataset.json")
   
   
if __name__ == "__main__":
    main()
   

nnUNet保姆级使用教程!从环境配置到训练与推理(新手必看) | AI技术聚合

在windows下安装nnUnet,并制作数据集以及运行(让隔壁奶奶也能学会的教程)_花生米生花@的博客-CSDN博客

数据文件夹:

其实就是需要自己自行手动建立几个文件夹,

【nnunet】个人数据训练心得,python,git,github

 进入红色文件夹:

【nnunet】个人数据训练心得,python,git,github

在红色文件夹里,丢如数据文件夹Task14_Vessel,这是固定的命名形式Task数字_名字

数字的话,建议是10以上,但是不能三位数,就说如果你是13的话,不要013,如果你里面的数据格式是正确的话,就是训练数据后面是_0000,nii.gz后缀的话,可以忽略这个规则,可直接跳到 --然后

因为的我的数据是这样的

【nnunet】个人数据训练心得,python,git,github

 肯定是不符合格式的,所以得改,可以利用nnunet自带的代码进行更改:

nnUNet_convert_decathlon_task -i F:/data/data_1100/nnUNet_raw_data_base/nnUNet_raw/nnUNet_raw_dat
a/Task14_Vessel

这时,他会再次生成一个文件夹,这个文件夹叫Task014_Vessel,原来的叫Task14_Vessel,所以你应该懂了吧!!!

【nnunet】个人数据训练心得,python,git,github

 其中这个过程中你是回遇到错误的,如果你的是Windows环境的话,解决方案,如下:

nnUNet windows 遇到的 bug_nnunet windows_*小呆的博客-CSDN博客

还有个最重的是,image和label的名字得一样

 【nnunet】个人数据训练心得,python,git,github

然后

运行指令,数字是自己任务的代号:

nnUNet_plan_and_preprocess -t 14 --verify_dataset_integrity
## 或者是
nnUNet_plan_and_preprocess -t 14 

然后又遇到报错了,一般是到了这步才会报错的:

【nnunet】个人数据训练心得,python,git,github

 File "D:\Python\anaconda3\envs\pytorch\lib\site-packages\nnunet\preprocessing\sanity_checks.py", line 129, in verify_dataset_integrity
    assert isfile(expected_label_file), "could not find label file for case %s. Expected file: \n%s" % (
AssertionError: could not find label file for case img_001. Expected file:

上面所有的问题皆是Windows下出现的,Linux的话,我是一次通过的。

解决方案:装Windows版的nnunet,它会解决Windows下的线程问题,不会报这么多奇奇怪怪的问题

最后就是运行指令进行训练

nnUNet_train 3d_fullres nnUNetTrainerV2 13 0-4

nnUNetTrainerV2:代表是训练的模型,

13:任务数据集

0-4:五折中的其中一折

若是训练到一半,想接着训练,则

nnUNet_train 3d_fullres nnUNetTrainerV2 13 0-4 -c

-c:continue的意思

nnunet默认是每50个epoch保存一次

总共训练1000个epoch

 

#############################################################################

指令总结

#############################################################################

nnUNet_convert_decathlon_task -i F:/data/data_1100/nnUNet_raw_data_base/nnUNet_raw/nnUNet_raw_dat
a/Task14_Vessel

nnUNet_plan_and_preprocess -t 14 

nnUNet_train 3d_fullres nnUNetTrainerV2 13 0

文件位置 

 nnUNet_convert_decathlon_task:

\nnunet\experiment_planning\ nnUNet_convert_decathlon_task

nnUNet_plan_and_preprocess:

\nnunet\experiment_planning\ nnUNet_plan_and_preprocess

nnUNet_train:

\nnunet\run\run_training

##########################################################################################################################################################

训练的一些源代码笔记

如果用的是nnUNet_train 3d_fullres nnUNetTrainerV2的话,主要看这五个文件代码:

【nnunet】个人数据训练心得,python,git,github

 run_training.py:

位置:\nnunet\run\run_training

功能:

主流程都在这里

 nnUNetTrainerV2.py:

位置:\nnunet\training\network_training\nnUNetTrainerV2

功能:

1、定义训练的网络模型、初始化网络

2、加载和解压数据集,数据的增强

3、定义损失函数、优化器、学习率之类的

4、加载数据参数定义

5、训练的入口,(在代码最后一段)

nnUNetTrainer.py:

位置:\nnunet\training\nnUNetTrainer.py

功能:

1、加载的一些数据参数定义,分配到self总体上

2、在这个可以自己改batch大小和patch_size大小

一般默认的batch是2,patch_size是【90,190,190】

self.batch_size   和    self.patch_size

3、划分训练集和验证集

4、加载数据集

network_trainer.py:

位置:

位置:\nnunet\training\network_trainer.py

功能:

1、设置一些参数

self.num_batches_per_epoch = 250        ## 训练块

self.num_val_batches_per_epoch = 50        ## 测试块

self.save_every = 50                                ## 每多少个epoch保存一下

2、加载权重

3、保存debug日志文件到输出文件夹下

4、训练的while:epoch < max_num_epochs:在这

generic_UNet.py:

位置:\nnunet\network_architecture\generic_UNet.py

功能:

网络结构模型文章来源地址https://www.toymoban.com/news/detail-567371.html

到了这里,关于【nnunet】个人数据训练心得的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MMDetection】——训练个人数据集

    mmdet支持COCO格式和VOC格式,能用COCO格式,还是建议COCO的。网上有YOLO转COCO,VOC转COCO,可以自己转换。 在mmdetection代码的根目录下,创建 data/coco 文件夹,按照coco的格式排放好数据集。 annotations 下面是标签文件, train2017 、 val2017 、 test2017 是图片。 第一处: mmdet/core/evalutio

    2024年02月06日
    浏览(47)
  • deeplabcut 简明教程(训练个人数据集)

    从github下载deeplabcut 然后cd 到该目录下 激活ipython  创建新项目 设置配置文件  根据设定的配置文件从视频中截取帧 标定数据集 检查数据集标定效果 创建训练数据集(这一步要在你训练的地方执行 本地/云端)  查看训练和设定训练参数 训练模型  模型评估(评估上一步所

    2024年02月05日
    浏览(34)
  • 个人电脑进行AI数据训练需要的硬件配置

    随着深度学习、人工智能等领域的不断发展,对计算机的性能要求也越来越高。多显卡的配置可以有效提升计算机的性能,进而提高AI数据训练的效率。本文将介绍如何在个人计算机上安装多个显卡进行AI数据训练,并给出三套支持4个显卡的经济型配置,并讨论二手矿卡的使

    2024年02月06日
    浏览(94)
  • 3DGS(3D Guassian Splatting)部署验证+个人数据训练

    我是先阅读一遍官方文档,后来发现版本有要求,看了半天,后来下定决心尝试下和官方要求的不一样的环境是否可以运行。 结论:python3.10 +cuda12.3+pytorch2.2.1可以运行。 以下过程供大家参考! GPU:4090 cudatoolkit visual studio 2022 win11 conda 按照以下步骤依次操作。 按需下载 TT+D

    2024年03月10日
    浏览(54)
  • 微信小程序个人心得

    复制 app.js 这个文件是整个小程序的入口文件,开发者的逻辑代码在这里面实现,同时在这个文件夹里面可以定义全局变量. app.json 这个文件可以对小程序进行全局配置,决定页面文件的路径,窗口表现,设置网络超时时间,设置多tab等. app.wxss 是小程序的公共样式表.(为了适应广大的

    2024年02月08日
    浏览(50)
  • STM32-个人心得体会

    目录 什么是STM32? 该怎么学STM32? 个人实践案例 总结         1.概述         在准备学习STM32之前,得知道什么是STM32,大家翻阅资料都知道STM32是意法半导体(STMicroelectronics)公司推出的一系列32位基于ARM Cortex-M内核的微控制器。它具有低功耗、高性能和丰富的外设资源

    2024年02月04日
    浏览(38)
  • 金融投资心得(个人领悟篇)

    本人从2015年开始接触金融,不知不觉跟金融已经打了8年交道了,一路走来,经历过不同波折,但好在结果还是好的。在8年期间,交易过余额宝,黄金,债券基金,指数基金,股票,最近打算接触期货市场。 金融给人的印象通常都是不好的,多少人在股票市场亏损了很多钱,

    2024年02月07日
    浏览(40)
  • python数据分析学习心得

    随着大数据技术和人工智能的不断发展,数据分析已经成为现代企业不可或缺的一部分。作为一名Python开发者,我也开始学习和探索数据分析的领域。在这篇文章中,我将分享我在学习Python数据分析方面所积累的经验。 第一步是学习Python基础知识。数据分析需要处理大量的数

    2024年02月02日
    浏览(34)
  • yolov8训练心得 持续更新

    目录 yolov8的改进点: 优化器 lion优化器,学习率0.0001,训练效果: 学习率衰减

    2024年02月15日
    浏览(40)
  • Python数据分析学习收获与心得

    Python是一种功能强大的编程语言,它被广泛应用于数据科学和机器学习领域。Python的数据分析库非常丰富,包括NumPy、Pandas、Matplotlib、Scikit-learn等。在学习Python数据分析的过程中,我收获了很多,以下是我的心得体会。 第一,Python数据分析的基础知识非常重要。在学习Pytho

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包