【nnUNetv2实践】一、nnUNetv2安装

nnUNet是一个自适应的深度学习框架,专为医学图像分割任务设计。以下是关于nnUNet的详细解释和特点:

  1. 自适应框架:nnUNet能够根据具体的医学图像分割任务自动调整模型结构、训练参数等,从而避免了繁琐的手工调参过程。
  2. 自动化流程:nnUNet包含了从数据预处理到模型训练、验证及测试的全流程自动化工具,大大简化了使用深度学习进行医学图像分割的复杂度。
  3. 自适应网络结构调整:根据输入数据集的特点,nnUNet能够自动选择和配置合适的网络深度、宽度等超参数,确保模型在复杂性和性能之间取得平衡。
  4. Patch-Based Training and Inference:nnUNet使用基于patch级别的训练方法,通过滑窗的方式遍历整个图像进行训练。在推理阶段,也采用类似的方法来生成整个图像的分割结果。这种方法对于处理大尺寸图像或有限显存的情况非常有效。
  5. 集成学习与交叉验证:nnUNet还采用了交叉验证策略以最大程度利用有限的数据集,并结合集成学习技术来提高模型预测的稳定性和准确性。

此外,nnUNet还提供了丰富的文档和示例,帮助用户更好地了解和使用该框架。要使用nnUNet,用户需要安装Python和相应的深度学习框架,然后按照官方文档提供的步骤进行操作即可。

总的来说,nnUNet是一个功能强大、易于使用的深度学习框架,特别适用于医学图像分割任务。它的自适应特性、自动化流程和先进的训练策略使得用户能够更高效地构建和训练模型,同时获得更好的性能表现。

本文介绍nnunetv2的安装方法。

一、创建虚拟环境

首先创建虚拟环境:

conda create -n nnunet python=3.9

进入虚拟环境:

conda activate nnunet

安装pytorch-gpu,先查看cuda版本,输入命令nvidia-smi,如下图,我的版本是12.4:

可以在官网安装合适的版本,不太建议安装最新版本的torch,我这里安装2.0.0(对应的cuda版本11.8,请确保pytorch的cuda版本低于本机的cuda版本,不然可能出问题):

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

二、安装nnunetv2

本教程采用源码安装的方式,相信使用nnunet的大部分朋友都是为了做实验,从源码安装方便改配置文件,做实验。

首先下载代码,并进行安装(如果已经下载过nnunet,请确保nnunet文件夹内没有自己创建的文件夹):

git clone https://github.com/MIC-DKFZ/nnUNet.git
cd nnUNet
pip install -e .

安装nnunet绘制模型结构的模块(如果不需要可以忽略,绘制的结构也不好看):

pip install --upgrade git+https://github.com/FabianIsensee/hiddenlayer.git

三、设置环境变量

首先创建三个文件夹:nnUNet_raw/nnUNet_preprocessed/nnUNet_results,然后设置环境变量。windows用户和linux的环境变量设置方式不同。

本教程直接在nnUNet目录下创建了nnUNet_raw/nnUNet_preprocessed/nnUNet_results三个文件夹,如下图:

1、windows设置环境变量

使用如下命令(路径替换为自己的):

set nnUNet_raw=D:/DeepLearning/nnUNet/nnUNet_raw
set nnUNet_preprocessed=D:/DeepLearning/nnUNet/nnUNet_preprocessed
set nnUNet_results=D:/DeepLearning/nnUNet/nnUNet_results

2、linux设置环境变量

使用如下命令(路径替换为自己的):

export nnUNet_raw="/media/fabian/nnUNet_raw"
export nnUNet_preprocessed="/media/fabian/nnUNet_preprocessed"
export nnUNet_results="/media/fabian/nnUNet_results"

四、训练测试

为了测试安装成功,使用一个【nnunet训练测试小数据集】进行训练测试(该数据集从马萨诸塞道路遥感分割数据集中抽样组成)。

下载该数据集,放入nnUNet_raw目录下并解压(文件夹名字为Dataset120_RoadSegmentation),如下图(务必保证目录结构一致):

以下教程所在目录都是nnUNet目录。

1、数据集格式转换

无需该步骤,该数据集已经被处理过。

2、预处理

如下命令:

nnUNetv2_plan_and_preprocess -d 120 --verify_dataset_integrity

处理完成后,nnUNet_preprocess文件夹下出现处理好的数据:

3、训练

训练,nnunet默认使用五折交叉验证训练,这里只训练一折:

nnUNetv2_train 120 2d 0 

训练起来了,如下图(hiddenlayer我没有安装,没有影响):

可以用nvidia-smi查看显存占用:

nnunet安装成功。

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

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

相关文章

提升地理空间分析效率,火山引擎ByteHouse上线GIS能力

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 在数字化时代,地理空间分析(Geospatial Analytics)成为辅助企业市场策略洞察的重要手段。无论是广告投放的精准定位,…

Leetcode 1. 两数之和

心路历程: 很简单的题,双层暴力就可以,用双指针的话快一点。暴力时间复杂度O( n 2 n^2 n2),双指针时间复杂度O(nlogn) O(n) O(n) O(nlogn)。 注意的点: 1、题目需要返回原数组的索引,所以排序后还需要…

豆瓣电影信息爬取与可视化分析

目录 一、项目背景 二、代码 三、总结 一、项目背景 (1)利用requests库采集豆瓣网分类排行榜 (“https://movie.douban.com/chart”)中各分类类别前100部电影的相关信息并存储为csv文件。 (2)利用获取的13个分类类别共1300部电…

远程调用初体验笔记

远程调用初体验笔记 微服务架构通常将系统拆分成多个独立的服务单元,每个服务单元都专注于实现特定的业务功能。当一个服务需要使用另一个服务提供的功能时,就可以通过远程调用来实现。 使用步骤 1.步骤 Spring给我们提供了一个RestTemplate工具&#…

一、Spring Boot 中集成 fastdfs文件上传

二、实现fastdfs文件上传与延迟删除功能的Spring Boot项目 目录 1、Spring Boot 版本2、 fastdfs 版本依赖3、增加配置文件4、创建FastDFS配置类&#xff0c;增加工具类6、 增加对外接口 1、Spring Boot 版本 <parent><groupId>org.springframework.boot</grou…

Linux:搭建ntp服务器

我准备两个centos7服务器 一个为主服务器连接着外网&#xff0c;并且搭建了ntp服务给其他主机同步 另外一个没有连接外网&#xff0c;通过第一台设备去同步时间 首先两个服务器都要安装ntp软件 yum -y install ntp 再把他俩的时间都改成别的 左侧的是主服务器&#xff0c;主…

idea项目mapper.xml中的SQL语句黄色下划线去除

问题描述 当我们使用idea开发java项目时&#xff0c;经常会与数据库打交道&#xff0c;一般在使用mybatis的时候需要写一大堆的mapper.xml以及SQL语句&#xff0c;每当写完SQL语句的时候总是有黄色下划线&#xff0c;看着很不舒服。 解决方案&#xff1a; 修改idea的配置 Edi…

服务器段的连接端口和监听端口编程实现

new ServerSocket(int)是开启监听端口&#xff0c;并不是连接端口。真正的连接端口是随机开辟的空闲端口&#xff0c;当连接创建完成后&#xff0c;监听关口可以继续等待下一次连接请求&#xff0c;处于空闲等待状态。 编程实现方式 1 、主线程一直处于阻塞等待状态&#xff0c…

C 练习实例77-指向指针的指针-二维数组

关于数组的一些操作 #include<stdio.h> #include<stdio.h> void fun(int b[],int length) {for(int i0;i<length;i){printf("%d ",b[i]);}printf("\n");for(int i0;i<length;i){ //数组作为形参传递&#xff0c;传递的是指针&#xff0…

leetcode116填充每个节点的下一个右侧节点指针

思路&#xff1a; BFS&#xff0c;层次遍历的时候&#xff0c;我用的Queue存储每层的所有元素&#xff0c;因此我先用Node* node保存Q的第一个元素&#xff0c;然后把Q的第一个pop掉&#xff0c;然后让node的next指向pop之后的Q的第一个元素&#xff0c;就顺理成章完成了本题&a…

人工智能如何撬动新质生产力发展?

全国两会期间&#xff0c;“新质生产力”成为高频词&#xff0c;引发高度关注。新质生产力是由技术革命性突破、生产要素创新性配置、产业深度转型升级催生的当代先进生产力。而人工智能被视为形成新质生产力的重要引擎。 随着人工智能&#xff08;AI&#xff09;技术跨越奇点…

Python3+RIDE+RobotFramework自动化测试框架搭建

Python2.7已于2020年1月1日开始停用&#xff0c;之前RF做自动化都是基于Python2的版本。 没办法&#xff0c;跟随时代的脚步&#xff0c;我们也不得不升级以应用新的控件与功能。 升级麻烦&#xff0c;直接全新安装。 一、Python安装 最新版Python下载地址&#xff1a;http…

Level 2 行情数据存储处理

DolphinDB 处理 Level 2 行情数据实例 Level 2 高频行情数据包含大量有价值的信息&#xff0c;利用这些数据生成交易信号和获取收益已经成为量化研究中的一种主流策略。作为一个高性能时序数据库&#xff0c;DolphinDB 非常适合存储、处理 GB 级别甚至 PB 级别的海量数据集&…

Python环境下基于注意力机制的小样本轴承故障诊断

传统的基于特征提取与分类相结合的轴承智能诊断算法&#xff0c;对信号处理要求很高的专家经验&#xff0c;既费时又缺乏通用性。基于深度学习的智能轴承故障诊断方由于具有强大的特征提取能力&#xff0c;避免了繁琐复杂的特征提取工作&#xff0c;但是大多数研究都是在标准数…

抖音小店营业执照怎么办理?执照办理有哪些注意事项?

大家好&#xff0c;我是电商糖果 开店前我们需要办理一张执照&#xff0c;而新手开店基本都是个体执照。 所以这篇文章也主要讲个体执照的办理方法和注意事项。 抖音小店办理方法一共有三种。 第一种&#xff1a;自己去当地工商局办理 准备好法人身份证原件&#xff0c;复印…

共谋企业出海新篇章纷享销客荣获数字中国企业峰会“卓越成果奖”

3月9日&#xff0c;2024数字中国企业峰会在杭州西湖中维香溢大酒店成功举办&#xff0c;众多数字化领域专家、知名企业 CIO 代表到场。峰会旨在推动数字化转型与创新发展&#xff0c;为企业出海和国际合作搭建交流与合作的平台。本次峰会的颁奖环节&#xff0c;纷享销客凭借其卓…

Linux开发 -- 编写脚本

使用脚本可以提高工作效率、减少人为错误、简化复杂操作、增加系统自动化管理能力等&#xff0c;是 Linux 系统管理和开发中非常重要的工具之一。 1.常见指令 变量操作&#xff1a; &#xff1a;赋值操作符&#xff0c;用于给变量赋值。$&#xff1a;变量引用符号&#xff0c;…

【已解决】MySQL:常用的除法运算+精度处理+除数为0处理

目录 问题现象&#xff1a; 问题分析&#xff1a; 拓展&#xff1a; 1、除法运算&#xff1a; 拓展&#xff1a;MySQL中常用的几种除法运算 1、取整除法 2、浮点数除法 3、取余除法 4、向上取整除法 5、向下取整除法 2、运算结果的精度处理 1.1、浮点数 1.2、总位数 1.3、…

【NLP10-fasttext工具】

了解fasttext工具的作用 了解fasttext工具的优势及其原因 掌握fasttext的安装方法 1、认识fasttext工具 1.1、作用&#xff1a; 进行文本分类 训练词向量 1.2、工具包优势 正如它的名字&#xff0c;在保持较高精度的情况下&#xff0c;快速的进行训练和预测是fasttext的…

android 怎么自定义view

首先了解view的绘制流程: 所以onmeasure ---测量view onlayout---确定view大小----》所以继承ViewGroup必须要重写onlayout,确定子view 而onDraw----是继承view时候需要操作的。 所以:自定义ViewGroup一般是利用现有的组件根据特定的布局方式来组成新的组件。 自定义Vi…