医疗图像分割实践NNUnet-V2 基于window10+3090配置。官方数据Task_02

news2025/1/16 5:43:17

Window10 配置NNUnet完成官方任务分割

NNUnet论文介绍

nnUnet是一个针对医学图像分割提出得一个即开即用的框架,用户只需要按照官方给出的数据要求进行格式转换便可以进行快速的医学图像分割的训练和推演。其更新的V2版本代码变得更加易读和方便使用,并且支持2D的图像和一些除nii格式的图像分割任务。具体的可以参考论文原文:论文-nnUnet,代码地址:nnUnetV2-GitHub。
接下来讲解自己在window10上面配置NNunet 并执行官方数据训练的过程,推演后续在写。

安装NNUnet的前期准备:

写在前面:下面讲到的执行安装命令的操作都是在Anaconda Promote中以命令行的方式执行的!!!
下面讲解的主要是官网指导的安装流程:Anaconda+Pytorch安装指引
1、按照官网的安装指导,建议使用Anaconda安装虚拟环境来运行NNunet。
Anaconda安装过程:见官网Anaconda下载地址
安装完成后:执行一下命令安装一个python的虚拟环境:

conda create -n nnUnet python=3.9

2、接下来需要安装最新版本的Pytorch:参照官网Pytorch安装教程参考命令,可以使用conda或者pip 具体的请根据自己的情况在官网选择后复制,我此处选用conda(可以安装GPU所需要的依赖一起)
在这里插入图片描述

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

3、安装Git 方便后面的nnUnet安装。使用conda安装Git

conda install git

安装NNunet

对于NNUnet有两种可用的安装方式:如官网所示:
在这里插入图片描述
本人因为是需要对代码进行研究和改进选择的是第二种安装方式:
如果要安装第二种,需要前面的Git成功安装如上面图像所描述,直接执行上面的代码便可以完成安装。此处说一下我的建议或者遇到的问题:
首先在命令窗口查看自己的路径,如果此时是在C盘建议改到其他盘:运行下面命令即可

\(base) C:\Users\Admin>D:

然后依次再执行

git clone https://github.com/MIC-DKFZ/nnUNet.git
cd nnUNet
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple 

最后一句注意有点.并且通过切换国内源加快安装速度。
最后在通过pip安装hiddenlayer,这是一个可选项,不安装不影响运行。

开始NNUnet的训练配置之旅。

很多人都是卡在这步无法开始,这部分着重讲操作,不讲原理和原因。

一、数据集转换

数据集的转化成功,nnUnet基本就成功了。很多人都是卡在这个地方。
1、先在你刚刚git clone 的地方,找到nnUnet这个文件夹,然后再该目录下新建三个文件夹:
如下图:在这里插入图片描述
然后再刚刚新建的文件夹下,继续新建三个文件夹,这一步请忽略掉我此处出现的Dataset002_heart(这是我运行预处理后生成的):
在这里插入图片描述

2、下载十项医学全能的数据:官网选择task02 这部分数据最小,可以快速的下载并进行后面的操作。这个可以下载下来放在任何一个地方,但请记住它的位置。
3、设置环境变量:这一步十分重要,如果设置错了,下面的数据转换就无法成功执行。
首先windows键+R :运行sysdm.cpl 进入到如下界面:点击高级
在这里插入图片描述
点击高级
在这里插入图片描述
点击环境变量进行设置:
在这里插入图片描述
注意:此处的环境变量要添加在系统变量中:
分别增加三个环境变量:冒号后面对应的值为你刚刚在前面新建的三个文件夹对应的位置。
nnUnet_raw:
nnUnet_results:
nnUnet_preprocessed:
4、当上述配置都成功以后:就可以使用官方的命令对数据进行转换了:

nnUNetv2_convert_MSD_dataset  -i  原数据集的路径  -overwrite_id 02

最后这里的02 是我们从官网下载下来的时候,任务时Task2.如果下载的是其他数据集,按照ID号进行更改即可。
运行成功后便可以在我们刚刚创建的nnUnetFrame文件夹中看到我们转换好的数据
在这里插入图片描述

补充:如果要使用自己的数据,就可以在运行转换成功后,进入nnNNunet 查看在这里插入图片描述
这里面的数据结构和dataset.json 文件。按照这种格式,自己去写一个转换自己数据集的脚本就可以,官方也提供了一些常用数据集的转换脚本,大家可以进行参考:官网的数据格式提示
数据集转换脚本参考 这里会下次我们搞明白后详解。这个文档主要是实现官方数据的训练。

二、运行数据预处理

在前面数据的问题解决以后,直接运行下面的默认命令就可以按照NNunet的计划进行数据预处理:
-d 后面的数字为任务对应的id 我们这里是2

nnUNetv2_plan_and_preprocess -d 02 --verify_dataset_integrity

如果没有问题则会弹出如下界面,这也是论文中数据指纹data fingerprint 的提取信息
在这里插入图片描述
这一步成功后,距最后就只差一步训练了:

三、训练

调用官网的nnUnetv2_train 这个命令,并给出指定的参数就可以开始运行。给出训练2D网络的命令如下:

nnUNetv2_train 002 2d 0

其他命令参考:官网使用说明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1108100.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GitLab使用webhook触发Jenkins自动构建

1、jenkins安装gitlab插件 在插件管理中,搜索gitlab安装这个插件。 2、job中配置webhook地址和密钥 进入job设置,构建触发器中就可以看到gitlab的webhook配置,复制URL地址和随机令牌至gitlab中 勾选后,就可以展开设置&#xff…

Go语言入门心法(十):Go语言操作MYSQL(CRUD)

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 Go语言入门心法(六): HTTP面向客户端|服务端编程 Go语言入门心法(八): mysql驱动安装报错onnection failed Go语言入门心法(…

黑白棋(Othello, ACM/ICPC World Finals 1992, UVa220)rust解法

你的任务是模拟黑白棋游戏的进程。黑白棋的规则为:黑白双方轮流放棋子,每次必须让新放的棋子“夹住”至少一枚对方棋子,然后把所有被新放棋子“夹住”的对方棋子替换成己方棋子。一段连续(横、竖或者斜向)的同色棋子被…

【黑马程序员】MySQL学习记录二(SQL)案例

案例1(数据类型、DDL、DML、DQL) 根据需求创建表(设计合理的数据类型、长度) 1、设计一张员工信息表,要求如下 create table emp( id INT COMMENT 编号, workno VARCHAR(10) COMMENT 员工工号, name VARCHAR(10) COM…

企业工厂车间台式电脑经常有静电导致开不开机,如何彻底解决?

环境: HP 480G7 Win10 专业版 问题描述: 企业工厂车间台式电脑经常有静电导致开不开机,如何彻底解决? 开机电源指示灯闪,显示器黑屏没有画面开不了机,一般是把主机电源断了,把主机盖打开 把内存条拔了之后长按开机按键10秒以上然后插上内存条开机正常 相对与有些岗…

智慧应急三维电子沙盘系统

1 概述 深圳易图讯科技有限公司(www.3dgis.top)采用大数据、云计算、虚拟现实、物联网、AI等先进技术为支撑,以6博硕团队为核心,研发了智慧应急三维电子沙盘系统,成功案例100。该系统支持高清卫星影像、DEM高程数据、…

vue-pdf多页预览异常,Rendering cancelled, page 1 Error at BaseExceptionClosure xxx

项目开发使用vue-pdf,单页情况预览正常,多页vue-pdf预览异常,第一次预览时,会先弹出异常模态窗口,关闭模态窗口,pdf又是正常显示,报错信息及异常截图如下: 报错信息 Rendering cancelled, page…

使用Vue组件的watch监听-简单计算器

Vue组件的初探 一、浅析 这里做了一个全局的组件vue.component(mycomp,{}) 在<template></template>中写组件&#xff0c;将idcomp1 script中直接template:"#copm1" 其他的部分就是之前所讲的watch来实现简易计算器差不多 <div id"app"&…

6.5 Elasticsearch(五)Spring Data Elasticsearch - 增删改查API

文章目录 1.Spring Data Elasticsearch2.案例准备2.1 在 Elasticsearch 中创建 students 索引2.2 案例测试说明 3.创建项目3.1 新建工程3.2 新建 springboot module&#xff0c;添加 spring data elasticsearch 依赖3.3 pom.xml 文件3.4 application.yml 配置 4.Student 实体类…

SD卡与emmc的异同

eMMC与SD卡的异同&#xff1a; 物理尺寸和接口&#xff1a; eMMC&#xff1a;eMMC是一种嵌入式存储解决方案&#xff0c;通常采用BGA&#xff08;Ball Grid Array&#xff09;封装&#xff0c;焊接在电路板上。它没有标准的物理尺寸&#xff0c;而是以芯片的形式存在。SD卡&…

代理模式(初学)

代理模式 一、什么是代理模式 代理模式&#xff1a;为其他对象提供一种代理以控制对这个对象的访问 二、简单例子 这里面的骏骏就起到了代理的身份&#xff0c;而贵贵则是被代理的身份。 三、代码实现 1、用一个接口&#xff08;GivingGifts&#xff09;来保存送礼物的动作…

链表的概念+MySingleList的实现

文章目录 链表一、 链表的概念1.概念2. 结构 二、MySingleList的实现1 .定义内部类2 .创建链表3. 遍历链表并打印4.查找单链表中是否包含关键字key5.得到链表的长度6.头插法7. 尾插法8.任意位置插入8.删除结点清空 链表 顺序存储&#xff1a;顺序表/ArrayList 优点&#xff1…

Android平台GB28181设备接入模块之SmartGBD

大牛直播SDK研发的Android平台GB28181设备接入SDK&#xff08;SmartGBD&#xff09;&#xff0c;可实现不具备国标音视频能力的 Android终端&#xff0c;通过平台注册接入到现有的GB/T28181—2016服务&#xff0c;可用于如执法记录仪、智能安全帽、智能监控、智慧零售、智慧教育…

C#插入排序算法

插入排序实现原理 插入排序算法是一种简单、直观的排序算法&#xff0c;其原理是将一个待排序的元素逐个地插入到已经排好序的部分中。 具体实现步骤如下 首先咱们假设数组长度为n&#xff0c;从第二个元素开始&#xff0c;将当前元素存储在临时变量temp中。 从当前元素的前一…

【量化交易笔记】9.量化投资理论及一般流程

前言 在第7篇文章中指出&#xff0c;量化交易的主要有两方面应用&#xff0c;基于的数据主要是两个类型&#xff0c;如前面讲的用之前的数据预测股价&#xff0c;这类数据我们可归为纵向研究数据&#xff0c;又称时间序列数据&#xff0c;另一类是横截面数据&#xff0c;以称截…

CleanMyMac X2024免费版苹果电脑杀毒工具

在过去&#xff0c;人们普遍认为苹果电脑不容易受到恶意软件的攻击&#xff0c;因此不需要安装杀毒软件。然而&#xff0c;随着苹果电脑的普及和互联网的发展&#xff0c;苹果电脑也逐渐成为黑客和恶意软件的目标。为了保护苹果电脑的安全&#xff0c;使用一款可靠的苹果电脑杀…

通过SPI传输BMI160数据到nrf528xx

目录 主控和外设之间的联系关键示例可能的bug 主控和外设之间的联系 在完成代码之前&#xff0c;我们手里会有两份代码&#xff0c;一份是nrf528xx的SDK&#xff0c;一份是BMI160传感器的SDK&#xff0c;怎么利用SDK完成我们的需求呢&#xff1f;首先我们要搞明白&#xff0c;…

了解工业交换机背板带宽及其重要性

工业交换机是工业自动化领域中的关键设备&#xff0c;用于管理和控制工业网络中的数据流量。在设计和维护工业网络时&#xff0c;了解和优化工业交换机的性能至关重要。其中&#xff0c;背板带宽是一个重要的性能参数。 什么是工业交换机的背板带宽&#xff1f; 工业交换机的背…

Ubuntu系统如何进行网络连接-连接电脑局域网-物联网开发-Ubuntu系统维护

一、前言 在Ubuntu系统的维护中&#xff0c;我们常常需要对VMware中的Ubuntu虚拟机配置网络连接&#xff0c;以连接服务器下载或安装软件包以及进行网络通信等。 基于上述问题&#xff0c;本文将着重分享Ubuntu配置网络链接的若干方法。 二、网络连接模式 打开VM&#xff0c;右…

互联网Java工程师面试题·Java 总结篇·第八弹

目录 72、用 Java 的套接字编程实现一个多线程的回显&#xff08;echo&#xff09;服务器。 73、XML 文档定义有几种形式&#xff1f;它们之间有何本质区别&#xff1f;解析XML 文档有哪几种方式&#xff1f; 74、你在项目中哪些地方用到了 XML&#xff1f; 72、用 Java 的套…