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

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.rhkb.cn/news/162808.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配置VScode开发环境-CUDA编程

如果觉得本篇文章对您的学习起到帮助作用,请 点赞 关注 评论 ,留下您的足迹💪💪💪 本文主要介绍VScode下的CUDA编程配置,因此记录以备日后查看,同时,如果能够帮助到更多人&#xf…

通达OA saas化改造

登录页增加选择单位下拉菜单 <tr height"37" class"login_field"><td align"center"><b>用户名</b> <input type"text" class"text" name"UNAME" size"15" onmouseover&qu…

AC修炼计划(AtCoder Regular Contest 165)

传送门&#xff1a;AtCoder Regular Contest 165 - AtCoder 本次习题参考了樱雪猫大佬的题解&#xff0c;大佬的题解传送门如下&#xff1a;Atcoder Regular Contest 165 - 樱雪喵 - 博客园 (cnblogs.com) A - Sum equals LCM 第一题不算特别难 B - Sliding Window Sort 2 对…

.NET Core/.NET6 使用DbContext 连接数据库,SqlServer

安装以下NuGet包 Microsoft.EntityFrameworkCore.SqlServer&#xff1a;SQL server 需要添加包 Microsoft.EntityFrameworkCore.Tools Newtonsoft.Json&#xff1a;用于Json格式转换 创建一个实体类来表示数据库表。在项目中创建一个名为Customer.cs的文件&#xff0c;并添加以…

【Linux】Ubuntu存储分析

文章目录 前言1 如何对系统进行存储分析2 如果出现存储空间不足的警告应该怎么办&#xff1f;3 存储空间太小导致不能开机怎么办&#xff1f;4 如何对系统进行扩容 前言 因为要编译一个ARM架构的Linux SDK&#xff0c;结果没想到这个SDK解压编译完大小远超我想象&#xff0c;直…

Flink学习之旅:(一)Flink部署安装

1.本地搭建 1.1.下载Flink 进入Flink官网&#xff0c;点击Downloads 往下滑动就可以看到 Flink 的所有版本了&#xff0c;看自己需要什么版本点击下载即可。 1.2.上传解压 上传至服务器&#xff0c;进行解压 tar -zxvf flink-1.17.1-bin-scala_2.12.tgz -C ../module/ 1.3.启…

【JVM】JVM的垃圾回收机制

JVM的垃圾回收机制 对象死亡判断方法引用计数算法可达性分析算法 垃圾回收算法标记清除法复制算法标记整理算法分代算法 Java运行时内存的各个区域,对于程序计数器,虚拟机栈,本地方法栈这三个部分区域而言,其生命周期与相关线程有关,随线程而生,随线程而灭,并且这三个区域的内存…

服务器数据恢复-RAID信息破坏导致服务器操作系统无法启动的数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器&#xff0c;8块硬盘组建了一组raid5磁盘阵列&#xff0c;服务器安装的是windows server操作系统&#xff0c;上层部署ORACLE数据库。 服务器故障&#xff1a; 在服务器运行过程中&#xff0c;2块硬盘报警&#xff0c;服务器操作系统…

MAC上设置IDEA如何一个窗口打开多个项目,多个tab

1、IDEA一个窗口打开多个项目 如果你打开了多个项目、每次切换都要半天&#xff0c;想让项目都汇聚到top栏 点击 Window - Merge All Project Windows 即可 但是这样比较挫&#xff0c;每次打开新的项目都还是会重新打开一个IDEA窗口 so&#xff0c;如何设置项目在同一个窗口…

手部关键点检测3:Pytorch实现手部关键点检测(手部姿势估计)含训练代码和数据集

手部关键点检测3&#xff1a;Pytorch实现手部关键点检测(手部姿势估计)含训练代码和数据集 目录 手部关键点检测3&#xff1a;Pytorch实现手部关键点检测(手部姿势估计)含训练代码和数据集 1. 前言 2.手部关键点检测(手部姿势估计)方法 (1)Top-Down(自上而下)方法 (2)Bot…

Minio 文件上传(后端处理同文件判断,同一文件秒传)

记录minio 文件上传 MinIO提供多个语言版本SDK的支持&#xff0c;下边找到java版本的文档&#xff1a; 地址&#xff1a;https://docs.min.io/docs/java-client-quickstart-guide.html maven依赖如下&#xff1a; XML <dependency><groupId>io.minio</groupId…

Liunx中系统安全及文件系统(极其粗糙版)

PS&#xff1a;下面知识点还很粗糙下次有时间再改 系统安全&#xff1a; 系统安全和数据防护&#xff0c;数据备份的资质 比如三台服务器&#xff1a; 500万 工信部是有要求的&#xff0c;组织必须保证处理的个人数据的安全性 品牌形象如何维护呢 基于liunx的安全加固措施…

【微信小程序】数字化会议OA系统之首页搭建(附源码)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《微信小程序开发实战》。&#x1f3af;&#x1f3a…

C++不用工具,如何检测内存泄漏?

C不用工具&#xff0c;如何检测内存泄漏&#xff1f; 大概12年前&#xff0c;在某外企 的时候&#xff0c;要做一个跨平台的office&#xff0c;即聚合了word Excel 以及 ppt等几大模块&#xff0c;代码大概200w行&#xff0c;我负责的就是内存泄漏这块最近很多小伙伴找我&#…

儿童疫苗接种:安全与注意事项

引言&#xff1a; 儿童的疫苗接种是维护其健康和预防传染病的重要措施。疫苗可以有效地保护儿童免受各种疾病的威胁&#xff0c;但在接种过程中需要家长和监护人特别关注一些注意事项&#xff0c;以确保接种的安全性和有效性。本文将深入探讨儿童疫苗接种的重要性&#xff0c;…

定制AI问答机器人前需要准备什么数据来训练AI模型?

AI问答机器人利用自然语言处理&#xff08;NLP&#xff09;技术来理解和回应用户的查询&#xff0c;能通过分析大量数据提供准确和相关的答案。要定制一个AI问答机器人&#xff0c;收集必要的资源和工具是至关重要的。获取用于训练模型的数据集是个关键的基础&#xff0c;然后通…

Linux常用命令——colrm命令

在线Linux命令查询工具 colrm 删除文件中的指定列 补充说明 colrm命令用于删除文件中的指定列。colrm命令从标准输入设备读取书记&#xff0c;转而输出到标准输出设备。如果不加任何参数&#xff0c;则colrm命令不会过滤任何一行。 语法 colrm(参数)参数 起始列号&#…

浅谈余压监控系统在住宅小区的应用方案

【摘要】&#xff1a; 本文分析了火灾发生时人员伤亡的主要原因——烟雾&#xff0c;并针对该原因提供切实可靠的系统应用解决方案&#xff0c;并通过具体案例&#xff0c;从设计依据、产品选型、系统组网、现场安装等方式介绍余压监控系统&#xff0c;希望可以在火灾发生时较大…

【Vue项目】通过设置全局的异常处理来统一处理后端返回的异常

文章目录 简介方法一创建统一异常处理模块使用axios拦截器处理异常在页面中使用异常处理 方法二创建全局异常处理函数在main.js中配置全局异常处理在网络请求中捕获异常 方法三创建全局异常处理插件在main.js中注册全局异常处理插件在网络请求中捕获异常 总结 简介 在Vue项目中…

百度开源分布式id生成器集成--真香警告

百度开源分布式id生成器集成–真香警告 文章目录 [toc] 1.为什么需要分布式id生成器&#xff1f;2.常见id生成方案2.1 数据库表主键自增2.2 uuid2.3 雪花算法2.3.1 实现代码2.3.2 缺点的解决方案百度开源的分布式唯一ID生成器UidGenerator(本文重点讲解这个)Leaf--美团点评分布…