医疗图像分割实践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.hqwc.cn/news/140157.html

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

相关文章

SpringCloud微服务(注册发现Nacos、服务调用SSM、网关gateway)项目环境搭建(项目概况,SSM细节总结)

目录 1.nacos环境搭建nacos安装 2.项目主体结构6.2)表结构分析6.4)**运营端微服务搭建**6.4)登录功能实现 7)接口工具postman、swagger、knife4j7.1)postman7.2)swagger7.3)knife4j 8)网关9)前端集成9.1)前端项目部署思路9.2)配置nginx 1.nacos环境搭建 nacos安装 ①&#xf…

企业打造VR虚拟展厅,开启商务洽谈新时代!

现代化数字营销中,企业做了虚拟线上展厅和不做虚拟展厅的对比是很明显的,VR虚拟展厅让企业产品、企业环境、企业实力的展示更加真实、直观。虚拟展厅是一种在线展示企业形象和品牌的新型方式,随着VR技术的发展,虚拟展厅正在逐步取…

gnome-terminal禁止关闭确认

当你想要关闭一个终端时,弹出“确认关闭?”多少有些烦。 比如当前为root下,要么一路exit,要么就点击确认: 解决方法: 安装一个配置编辑器来帮我们方便地编辑配置项 sudo apt install dconf-editor找到…

3D Web轻量化工具HOOPS Web Platform助力Rapid DCS快速上市碳估算产品!

总部位于英国的Rapid DCS提供全面的交钥匙解决方案和服务,帮助建筑环境领域的客户充分利用数字化的优势。 Rapid DCS技术总监James Hunter表示:“如今的建筑项目需要一套与20甚至10年前的建筑项目不同的功能。” “例如,虽然成本规划一直很重…

算法专题:双指针

目录 题目1:移动零 题目2:复写零 题目3:快乐数 题目4:最多水的容器 题目5:有效三角形的个数 题目6:两数之和为s 题目1:移动零 给定一个数组nums,编写一个函数将所有的0移动到数…

UITesting 界面测试

1. 创建界面测试视图 UITestingBootcampView.swift import SwiftUI/// 界面测试 ViewModel class UITestingBootcampViewModel: ObservableObject{let placeholderText: String "Add name here..."Published var textFiledText: String ""Published var…

c++实现最大堆

前言 在写leetcode的时候,看到一道优先队列的题目,复习了一下最大堆,用c实现了一下。以前听网课的时候,根本看不懂实现,现在自己也能实现了。 参考文献 这个我觉得讲得挺好的,图很生动形象 代码 #incl…

百度智能云推出,国内首个大模型全链路生态支持体系

在10月17日举行的百度世界2023上,百度智能云宣布,百度智能云千帆大模型服务平台已服务17000多家客户,覆盖近500个场景。 同时,新的企业和开发者还正在不断地涌入千帆,大模型调用量高速攀升。平台上既有年龄仅14岁的小…

代理模式(初学)

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

网工记背命令(6)----链路聚合配置

目录 1.配置手工负载分担模式链路聚合 2.配置LACP模式的链路聚合 3.HUAWEI设备与C厂商设备对接 链路聚合(Link Aggregation)是将多条物理链路捆绑在一起成为一条逻辑链路,从而增加链路带 宽的技术。 常用配置命令 1、执行命令 interface …

轻重链剖分+启发式合并专题

Codeforces-741D(Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths) 一棵根为1 的树,每条边上有一个字符(a-v共22种)。 一条简单路径被称为Dokhtar-kosh当且仅当路径上的字符经过重新排序后可以变成一个回文串。 求每个子树中…

大数据Flink(九十七):EXPLAIN、USE和SHOW 子句

文章目录 EXPLAIN、USE和SHOW 子句 一、EXPLAIN 子句 二、USE 子句