nnU-Netv2新手教程(医学图像分割设计的自适应深度学习框架)


nnUnet方法源自论文
大佬文章 https://www.nature.com/articles/s41592-020-01008-z
《Automated Design of Deep Learning Methods for Biomedical Image Segmentation》,来自德国癌症研究中心。

源码地址:https://github.com/MIC-DKFZ/nnUNet
nnUNet浓缩了医学图像的语义分割领域的大部分知识,并且具备自动为不同任务设计不同训练方案的框架,不需要人工进行调参。

安装Anaconda

方式一:从官网下载
官网首页:https://www.anaconda.com/
官网下载页:https://www.anaconda.com/products/individual#Downloads
根据你的系统选择相应的installer即可

方式二:清华镜像下载(中国大陆推荐)
在官网下载比较慢,而且容易断开连接,推荐用下面清华镜像方式:

下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
打开后,可以通过时间排序找到最新版本下载,或者选一个你想要的版本。
安装Anaconda
在这里插入图片描述
勾选添加环境变量(不勾选的话,需要手动添加)
第二个勾选则是选择anaconda的python优先级最高,不管电脑是否安装了其他版本的python

手动添加环境变量如下:

在这里插入图片描述
硬盘已分区的情况下,不建议将Anaconda安装在C盘,建议安装在D盘等非系统盘
将以下环境变量,相应用户的目录可能会有所不同,但是后面的路径名相同。点击编辑,添加至path中
C:\anaconda3
C:\anaconda3\Scripts
C:\anaconda3\Library\bin
C:\anaconda3\Library\mingw-w64\bin
安装完成后,在CMD下输入conda
在这里插入图片描述
显示如图即安装成功

首先打开anaconda版的cmd(Anaconda Prompt),创建一个虚拟环境,创建指令为

conda create -n nnU-Net python=3.9 

在这里插入图片描述
在这里插入图片描述
proceed 选择 y

创建完成后激活环境,指令为:

conda activate nnU-Net

在这里插入图片描述
我们可以看到已经切换到之前创建的nnU-Net环境

安装Pytorch,指令为:

在cmd下输入指令:nvidia-smi 红框为自己电脑的cuda版本。查看自己显卡的cuda版本
在这里插入图片描述注意,下载pytorch时,cuda只能向下兼容,例如我的cuda为12.0,那么选择11.8,不能选择12.1及以上,另一台电脑为12.7则选择12.4,12.1和11.8均可,建议选择与自己版本相近的)
ps:如果自己显卡cuda过旧,可点击红框,下载先前的pytorch版本,注意要选择自己对应的操作系统
在这里插入图片描述

复制Run this Command,安装pytorch(cmd下) 选择cuda对应的版本(cuda向下兼容)

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

在这里插入图片描述
创建文件夹,用pycharm打开 Open Folder as PyCharm Project

在这里插入图片描述
打开pycharm,给项目添加解释器,将conda下面的nnU-Net环境添加至项目

在这里插入图片描述
配置完成后检查cuda和CPU是否可用

在这里插入图片描述
返回结果

在这里插入图片描述

安装Git插件,在pycharm设置Git路径

下载安装
在这里插入图片描述
在这里插入图片描述
对pycharm进行git的配置
在这里插入图片描述

选择正确的git路径,点击测试,即可显示版本
在这里插入图片描述

安装nnunet库(使用Git的方法安装):

首先在设置中将工具终端的shell路径设置为cmd(以便于在pycharm终端进行项目管理)
在这里插入图片描述
在pycharm打开终端,开始安装nnU-Netv2
在这里插入图片描述

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

在这里插入图片描述

在nnUNet文件夹中创建一个新文件夹nnUNetFrame,在该文件夹中新建三个文件夹:

nnUNet_raw
nnUNet_preprocessed
nnUNet_results

文件夹名称固定(raw存放原始数据集,preprocessed存放预处理后的训练计划,results存放训练结果等
在这里插入图片描述

修改data_process.py,用于处理BraTS2021 原始数据集

原始数据集并不满足nnU-Net的数据规范,因此我们需要将数据转换为规范数据。
这里data_process.py的编写,可以参考Deeplearning\nnUNet\nnunetv2\dataset_conversion目录下的文件
这里我们用到的是BraTS2021的数据集,因此可以参考Dataset137
在这里插入图片描述
data_process.py代码如下

import multiprocessing
import shutil
from multiprocessing import Pool

import SimpleITK as sitk
import numpy as np
from batchgenerators.utilities.file_and_folder_operations import *
from nnUNet.nnunetv2.dataset_conversion.generate_dataset_json import generate_dataset_json

#定义函数 将BraTS标签转换为nnU-Net格式
def copy_BraTS_segmentation_and_convert_labels_to_nnUNet(in_file: str, out_file: str) -> None:
    # use this for segmentation only!!!
    # nnUNet wants the labels to be continuous. BraTS is 0, 1, 2, 4 -> we make that into 0, 1, 2, 3
    img = sitk.ReadImage(in_file)
    img_npy = sitk.GetArrayFromImage(img)

    uniques = np.unique(img_npy)
    for u in uniques:
        if u not in [0, 1</
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值