【原创】nnUnet V1在win11下的安装与配置

安装之前可以先了解一下论文的主要内容,便于之后网络训练与推理,调试程序。

论文地址:nnU-Net: a self-configuring method for deep learning-based biomedical image segmentation | Nature Methods

也可以从其他博客快速浏览:论文解读- nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation(附实现教程)_nnunet self adaptinng-CSDN博客

如果想跟官网github一样在ubuntu下安装参考:nnUNet保姆级使用教程!从环境配置到训练与推理(新手必看)-CSDN博客


1.本博客是在win11安装,前期Anaconda的虚拟环境自己配置好,然后下载好nnUnet v1的安装包,然后解压在该目中运行:

pip install -e .

如果需要观察模型的网络结构图可以安装hiddenlayer:

nnUNet给出的指令:

pip install --upgrade git+https://github.com/FabianIsensee/hiddenlayer.git@more_plotted_details#egg=hiddenlayer

 上面指令自己运行报错:

× git clone --filter=blob:none --quiet https://github.com/FabianIsensee/hiddenlayer.git 'C:\Users\Administrator\AppData\Local\Temp\pip-install-dh84s7ac\hiddenlayer_be2e7545caf44fbeae10f5b0cfd81e30' did not run successfully,可能是网络原因。干脆直接从hiddenlayer官网的指令进行安装(顺利安装):

pip install git+https://github.com/waleedka/hiddenlayer.git

 2.开始准备推理的数据,注意它的格式要求,开始体验一下如何用官网模型进行infer使用:

查看nnUNet提供的预训练好的模型:

nnUNet_print_available_pretrained_models
Task001_BrainTumour
Brain Tumor Segmentation.
Segmentation targets are edema, enhancing tumor and necrosis,
Input modalities are 0: FLAIR, 1: T1, 2: T1 with contrast agent, 3: T2.
Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/Task002_Heart
Left Atrium Segmentation.
Segmentation target is the left atrium,
Input modalities are 0: MRI.
Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/Task003_Liver
Liver and Liver Tumor Segmentation.
Segmentation targets are liver and tumors,
Input modalities are 0: abdominal CT scan.
Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/Task004_Hippocampus
Hippocampus Segmentation.
Segmentation targets posterior and anterior parts of the hippocampus,
Input modalities are 0: MRI.
Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/Task005_Prostate
Prostate Segmentation.
Segmentation targets are peripheral and central zone,
Input modalities are 0: T2, 1: ADC.
Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/Task006_Lung
Lung Nodule Segmentation.
Segmentation target are lung nodules,
Input modalities are 0: abdominal CT scan.
Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/Task007_Pancreas
Pancreas Segmentation.
Segmentation targets are pancras and pancreas tumor,
Input modalities are 0: abdominal CT scan.
Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/Task008_HepaticVessel
Hepatic Vessel Segmentation.
Segmentation targets are hepatic vesels and liver tumors,
Input modalities are 0: abdominal CT scan.
Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/Task009_Spleen
Spleen Segmentation.
Segmentation target is the spleen,
Input modalities are 0: abdominal CT scan.
Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/Task010_Colon
Colon Cancer Segmentation.
Segmentation target are colon caner primaries,
Input modalities are 0: CT scan.
Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/Task017_AbdominalOrganSegmentation
Multi-Atlas Labeling Beyond the Cranial Vault - Abdomen.
Segmentation targets are thirteen different abdominal organs,
Input modalities are 0: abdominal CT scan.
Also see https://www.synapse.org/#!Synapse:syn3193805/wiki/217754Task024_Promise
Prostate MR Image Segmentation 2012.
Segmentation target is the prostate,
Input modalities are 0: T2.
Also see https://promise12.grand-challenge.org/Task027_ACDC
Automatic Cardiac Diagnosis Challenge.
Segmentation targets are right ventricle, left ventricular cavity and left myocardium,
Input modalities are 0: cine MRI.
Also see https://acdc.creatis.insa-lyon.fr/Task029_LiTS
Liver and Liver Tumor Segmentation Challenge.
Segmentation targets are liver and liver tumors,
Input modalities are 0: abdominal CT scan.
Also see https://competitions.codalab.org/competitions/17094Task035_ISBILesionSegmentation
Longitudinal multiple sclerosis lesion segmentation Challenge.
Segmentation target is MS lesions,
input modalities are 0: FLAIR, 1: MPRAGE, 2: proton density, 3: T2.
Also see https://smart-stats-tools.org/lesion-challengeTask038_CHAOS_Task_3_5_Variant2
CHAOS - Combined (CT-MR) Healthy Abdominal Organ Segmentation Challenge (Task 3 & 5).
Segmentation targets are left and right kidney, liver, spleen,
Input modalities are 0: T1 in-phase, T1 out-phase, T2 (can be any of those)
Also see https://chaos.grand-challenge.org/Task048_KiTS_clean
Kidney and Kidney Tumor Segmentation Challenge. Segmentation targets kidney and kidney tumors, Input modalities are 0: abdominal CT scan. Also see https://kits19.grand-challenge.org/Task055_SegTHOR
SegTHOR: Segmentation of THoracic Organs at Risk in CT images.
Segmentation targets are aorta, esophagus, heart and trachea,
Input modalities are 0: CT scan.
Also see https://competitions.codalab.org/competitions/21145Task061_CREMI
MICCAI Challenge on Circuit Reconstruction from Electron Microscopy Images (Synaptic Cleft segmentation task).
Segmentation target is synaptic clefts,
Input modalities are 0: serial section transmission electron microscopy of neural tissue.
Also see https://cremi.org/Task075_Fluo_C3DH_A549_ManAndSim
Fluo-C3DH-A549-SIM and Fluo-C3DH-A549 datasets of the cell tracking challenge. Segmentation target are C3DH cells in fluorescence microscopy images.
Input modalities are 0: fluorescence_microscopy
Also see http://celltrackingchallenge.net/Task076_Fluo_N3DH_SIM
Fluo-N3DH-SIM dataset of the cell tracking challenge. Segmentation target are N3DH cells and cell borders in fluorescence microscopy images.
Input modalities are 0: fluorescence_microscopy
Also see http://celltrackingchallenge.net/
Note that the segmentation output of the models are cell center and cell border. These outputs mus tbe converted to an instance segmentation for the challenge.
See https://github.com/MIC-DKFZ/nnUNet/blob/master/nnunet/dataset_conversion/Task076_Fluo_N3DH_SIM.pyTask082_BraTS2020
Brain tumor segmentation challenge 2020 (BraTS)
Segmentation targets are 0: background, 1: edema, 2: necrosis, 3: enhancing tumor
Input modalities are 0: T1, 1: T1ce, 2: T2, 3: FLAIR (MRI images)
Also see https://www.med.upenn.edu/cbica/brats2020/Task089_Fluo-N2DH-SIM_thickborder_time
Fluo-N2DH-SIM dataset of the cell tracking challenge. Segmentation target are nuclei of N2DH cells and cell borders in fluorescence microscopy images.
Input modalities are 0: t minus 4, 0: t minus 3, 0: t minus 2, 0: t minus 1, 0: frame of interest
Note that the input channels are different time steps from a time series acquisition
Note that the segmentation output of the models are cell center and cell border. These outputs mus tbe converted to an instance segmentation for the challenge.
See https://github.com/MIC-DKFZ/nnUNet/blob/master/nnunet/dataset_conversion/Task089_Fluo-N2DH-SIM.py
Also see http://celltrackingchallenge.net/Task114_heart_MNMs
Cardiac MRI short axis images from the M&Ms challenge 2020.
Input modalities are 0: MRI
See also https://www.ub.edu/mnms/
Note: Labels of the M&Ms Challenge are not in the same order as for the ACDC challenge.
See https://github.com/MIC-DKFZ/nnUNet/blob/master/nnunet/dataset_conversion/Task114_heart_mnms.pyTask115_COVIDSegChallenge
Covid lesion segmentation in CT images. Data originates from COVID-19-20 challenge.
Predicted labels are 0: background, 1: covid lesion
Input modalities are 0: CT
See also https://covid-segmentation.grand-challenge.org/Task135_KiTS2021
Kidney and kidney tumor segmentation in CT images. Data originates from KiTS2021 challenge.
Predicted labels are 0: background, 1: kidney, 2: tumor, 3: cyst
Input modalities are 0: CT
See also https://kits21.kits-challenge.org/Task169_BrainTumorPET
Brain tumor segmentation in FET PET images. Data originates from the Research Center Jülich, Germany.
Predicted labels are 0: background, 1: tumor
Input modalities are 0: FET PET
See also (NOT YET AVAILABLE)

 需要类似于ubuntu系统下一样,设置环境临时变量:

set RESULTS_FOLDER=自己的硬盘根目录\nnUNet-nnunetv1\dataset\nnUNet_trained_models
set nnUNet_raw_data_base=自己的硬盘根目录\nnUNet-nnunetv1\dataset\nnUNet_raw
set nnUNet_preprocessed=自己的硬盘根目录\nnUNet-nnunetv1\dataset\nnUNet_preprocessed是否设置成功,可以通过
echo %RESULTS_FOLDER%
echo %nnUNet_raw_data_base%
echo %nnUNet_preprocessed%

3. 推理之前需要将数据按照nnUNet要求进行格式转换:

由于ubuntu跟win11系统路径格式不一样(不懂可以看下区别),需要提前修改相应的程序:

1)nnUNet_convert_decathlon_task.py中22行的“folder.split('/')[-1]”改成“folder.split('\\')[-1]”。

2)utils.py中40行的input_folder.split("/")[-1]改成input_folder.split("\\")[-1]

3) common_utils.py中26行的filename.split("/")[-1]改成filename.split("\\")[-1]

然后,根据数据格式转换说明:

nnUNet_convert_decathlon_task -i FOLDER_TO_TASK_AS_DOWNLOADED_FROM_MSD -p NUM_PROCESSES

具体指令:

nnUNet_convert_decathlon_task -i 自己存放数据集的路径\Task05_Prostate

运行结果目录如下:

以imagesTs为例:

按照官网进行数据预处理:

nnUNet_plan_and_preprocess -t XXX --verify_dataset_integrity

 XXX表示任务号;

nnUNet_plan_and_preprocess -t 005 --verify_dataset_integrity

4. 运行推理程序:

范例:
nnUNet_predict -i INPUT_FOLDER -o OUTPUT_FOLDER -t TASK_NAME_OR_ID 
-m CONFIGURATION --save_npz

 这里需要注意一定要修改cropping.py中123行的i.split("/")[-1][:-4],将其修改为i.split("\\")[-1][:-4]。否则会报错误(这个错误很隐蔽,网上查了很多资料没有解决,一句句打断点找到的问题所在,debug不易,趟掉很多坑):

“return _nx.concatenate(arrs, 0, dtype=dtype, casting=casting)
ValueError: need at least one array to concatenate”

检测一下nnUNet_cropped_data是否生成了预处理的文件(*.npz和*.pkl): 

 

nnUNet_predict -i 自己的路径\nnUNet_raw\nnUNet_raw_data\Task005_Prostate\imagesTs -o 自己的路径\nnUNet_raw\nnUNet_raw_data\Task005_Prostate\inferTs -t 5 -m 3d_fullres -f 0

运行结果:

推理后得到标注结果:

现在已基本掌握了如何利用nnUNet以后模型进行推理,先会用再学如何利用自己的数据进行训练,之后重点讲如何自定义训练。这篇博客主要是为了解决nnUNet如何在win11环境中解决数据转换和数据预处理,以及如何模型推理。目前国内win11环境安装配置为此独一份,原创来之不易,点赞收藏,后期更精彩。

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

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

相关文章

计算机网络(网络原理与应用)之高级交换实验------冗余环路与生成树协议

一、实验目的 (1)了解生成树协议的作用; (2)熟悉生成树协议的配置。 二、应用环境 采用生成树协议可以避免环路。 生成树协议的根本目的是将一个存在物理环路的交换网络变成一个没有环路的逻辑树形网络。IEEE802.ID协议通过在交换机上运行一套复杂的算法STA(sp…

JupyterLab OpenCV展示图片

JupyterLab OpenCV展示图片 方式一 注意:此种方式如果在远程服务器上的JupyterLab上运行,可能会出现错误。 import cv2# 读取图片 image cv2.imread(photo/blg.png)# 显示图片 cv2.imshow(image, image)# 等待按键,之后关闭所有窗口 cv2.w…

Deckset for Mac:让演示文稿制作更轻松

还在为繁琐的演示文稿制作而烦恼吗?Deckset for Mac来帮您解决!它支持Markdown语言,让您只需专注于内容的创作,无需在排版和设计上耗费过多精力。丰富的主题和布局选项,让您能够轻松打造出专业级的演示文稿。快来体验D…

我的 OpenLiteSpeed 从开始到放弃之经历

昨晚下定决心放弃 OpenLiteSpeed 了,从开始到放弃历时七天。总结下来放弃 OpenLiteSpeed 主要是实在不适合明月当前的需要,用起来不是锦上添花而是个累赘了都,今天明月就给大家总结分享一下这次 OpenLiteSpeed 从开始到放弃的经历。 一、Ngin…

LLM量化

Efficient Finetuning prefix tuning 针对每种任务,学习prefix vector 启发于prompting,调整上下文内容让模型去输出自己想要的内容 核心就是找到一个上下文去引导模型解决NLP生成任务 传统情况下,我们为了得到想要的结果,会…

语言:C#

一、VSCode生成exe 二、

EasyRecovery(易恢复) 使用测试及详细使用方法

你有没有因为数据丢失懊悔不已,EasyRecovery(易恢复),来自美国拥有38年数据恢复的软件,只有收费版,重要事情说三遍,EasyRecovery 没有免费版,可以成功找回删除的部分文件&#xff0c…

SQLite .journal 文件

在之前插入大量数据测试的时候,发现在数据库文件同级目录下会产生一个同名.journal的文件,并且不是一直会存在,而是生成一会就会自动删除,然后继续生成继续删除,直到数据插入完成。 初步猜测,应该是类似 re…

增强客户黏性:服装实体店扫码连锁收银软件提供多样的会员营销策略

随着消费者对购物体验的需求不断提升,服装实体店面临着更大的挑战和机遇。为了增强客户黏性,提升销售业绩,越来越多的服装实体店开始引入扫码连锁收银软件,并提供多样化的会员营销策略。这一举措不仅为店铺提供了更加智能化的经营…

C语言——文件相关操作补充

一、文件读取结束的判定 当我们使用例如fgetc、fgets、fscanf、fread等函数来读取文件内容时,我们可能遇到需要判断文件读取的结束,一般情况下都是通过这些函数的返回值来判断文件读取是否结束。 1、fgetc 返回读取的字符的ASCII值,如果读…

Java 守护线程 ( Daemon Thread )详解

在Java中,线程分为两类:用户线程(User Thread)和守护线程(Daemon Thread)。守护线程是后台线程,主要服务于用户线程,当所有的用户线程结束时,守护线程也会自动结束,JVM会随之退出。守护线程的一个典型例子是…

Web前端一套全部清晰 ⑧ day5 CSS.3 选择器、PxCook软件、盒子模型

谁不是一路荆棘而过呢 —— 24.5.12 CSS.3 选择器、PxCook软件、盒子模型 一、选择器 1.结构伪类选择器 1.作用: 根据元素的结构关系查找元素。 选择器 说明 E:first-child 查找第一个 E元素 E:last-child 查找最后一个E元素 E:nth-chil…

【qt】最快的开发界面效率——混合编程

混合编程 一.准备工作1.创建项目2.添加项目资源 二.ui界面设计1.menuBar菜单栏2.action ▲3.toolBar工具栏4.中心组件 三.代码界面设计1.toolBar添加组件2.statusBar状态栏添加组件 四.完成界面的功能1.对action配置信号槽2.对action转到信号槽3.代码添加的组件手动关联槽函数 …

7 Days yo Die 七日杀服务器开服联机教程

1、购买后登录服务器(百度搜索莱卡云)game.lcayun.com 进入控制面板后会出现正在安装的界面,安装时长约5分钟左右 安装成功后你就可以看到我们的控制台界面 复制服务器ip地址打开游戏➡加入游戏 有两种方法加入游戏 第一种方法:…

三. TensorRT基础入门-导出并分析ONNX

目录 前言0. 简述1. generate-onnx2. export-onnx3. 补充-ONNX3.1 概念3.2 组成 总结参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习课程第三章—TensorRT 基础入门&#xff0…

redis深入理解之实战

1、SpringBoot整合redis 1.1 导入相关依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId> </dependency> <dependency><groupId>org.springframework.boot</groupId><artifactId&g…

纯CSS实现步骤条

纯CSS实现纵向Steps步骤条效果 效果图 实现思路 步骤条是一种用于引导用户按照特定流程完成任务的导航条&#xff0c;在各种分步表单交互场景中广泛应用。步骤条通常由编号、名称和引导线三个基本要素组成。本文中要实现的是一个简单的步骤条&#xff0c;包含上述三个基本要素…

SpringBoot结合Canal 实现数据同步

1、Canal介绍 Canal 指的是阿里巴巴开源的数据同步工具&#xff0c;用于数据库的实时增量数据订阅和消费。它可以针对 MySQL、MariaDB、Percona、阿里云RDS、Gtid模式下的异构数据同步等情况进行实时增量数据同步。 当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.…

计算机网络技术主要学什么内容,有哪些课程

计算机网络技术专业是一个涉及理论与实践紧密结合的学科&#xff0c;主要学习内容有计算机网络基础、网络设备技术、网络编程等内容&#xff0c;以下是上大学网&#xff08;www.sdaxue.com&#xff09;整理的计算机网络技术主要学什么内容&#xff0c;供大家参考&#xff01; 基…

20.接口自动化-Git

1、Git和SVN–版本控制系统 远程服务出问题后&#xff0c;可以先提交commit到本地仓库&#xff0c;之后再提交push远程仓库 git有clone Git环境组成部分 常用Git代码仓库服务-远程仓库 GitHub-服务器在国外&#xff0c;慢 GitLab-开源&#xff0c;可以在自己服务器搭建&…