首页 > 其他分享 >nnU-Net 如何安装--傻瓜式安装教程

nnU-Net 如何安装--傻瓜式安装教程

时间:2023-06-14 21:33:33浏览次数:51  
标签:fabian -- 傻瓜式 nnUNet 虚拟环境 Net 安装 nnU


这是nnU-Net系列第二篇–安装教程
上一篇:nnU-Net介绍篇

nnU-Net只在Linux上测试(ubuntu16、18和20;centOS, RHEL)。它也可以在其他操作系统上工作,但我们不能保证它会工作。

因此,最好安装在Linux上


文章目录

  • 安装nnU-Net的硬件条件
  • 快速的创建 Ubuntu 虚拟环境
  • 1 安装venv模块
  • 2 创建虚拟环境存放目录
  • 3 创建虚拟环境
  • 4 激活该环境
  • 5 退出该环境
  • 安装nnunet
  • 设置环境变量
  • 如何设置环境变量
  • 设置路径的另一种方法
  • 注意


安装nnU-Net的硬件条件

nnU-Net需要一个GPU!为了进行推断,GPU应该有4gb的VRAM。为了训练nnU-Net模型,GPU应该至少有11gb(例如rtx2080ti)。

由于使用混合精度,使用Volta架构(Titan V,V100 gpu)或使用cuDNN 8.0.2从源代码(参见此处)编译pytorch时,可以实现最快的训练时间。

请注意,pytorch的未来版本将默认包括cudnn8.0.2或更新版本,并且不需要从源代码处编译。

对于training,我们建议一个强大的CPU。建议至少使用6个CPU内核(12个线程)。CPU需求主要与数据扩充和随输入通道数量的扩展有关,因此对于使用4种图像模式的数据集(如BraTS 4个模态),CPU需求较高,而对于仅使用CT图像的数据集(如LiTS),CPU需求较低。

我们强烈建议您在虚拟环境中安装nnU-Net。请不要使用conda环境, 这在过去引起了多个问题。

Python2已弃用,不受支持。请确保您使用的是Python 3

快速的创建 Ubuntu 虚拟环境

参考链接

1 安装venv模块

该模块是标准Python 3库的一部分,以便我们可以创建虚拟环境(virtualenv)。让我们通过输入以下内容来安装venv:

sudo apt-get install -y python3-venv

nnU-Net 如何安装--傻瓜式安装教程_bash


这里需要输入你的密码

2 创建虚拟环境存放目录

让我们选择要将Python编程环境放入哪个目录,或者我们可以使用来创建一个新目录mkdir,如下所示:

mkdir environments
cd environments

注意:因为我是第二次安装,所以我演示是存放在文件夹env2中,你们就放在environments中,和官网统一

3 创建虚拟环境

一旦进入您希望环境存在的目录,就可以通过运行以下命令来创建环境:

python3 -m venv project_env

project_env是虚拟环境的名字,建议命为nnunet, 方便记忆

本质上,这将建立一个新目录,其中包含一些项目,我们可以使用以下ls命令查看该目录

这些文件一起使用,以确保您的项目与本地计算机的更广泛的上下文隔离开,从而避免系统文件和项目文件混在一起。这是进行版本控制并确保您的每个项目都可以访问其所需的特定程序包的良好做法。

nnU-Net 如何安装--傻瓜式安装教程_sed_02

因为我是第二次安装, 所以名字换了。

4 激活该环境

要使用此环境,您需要激活它,您可以通过键入以下调用激活脚本的命令来激活它。这和激活conda环境略有不同

source nnunet2/bin/activate

这里激活要先切换到nnunet2的上一级文件夹

nnU-Net 如何安装--傻瓜式安装教程_bash_03


激活后会在最左边显示该环境的名称

5 退出该环境

要离开环境,只需键入命令deactivate,您将返回到原始目录。

创建虚拟环境的完整过程如下:

nnU-Net 如何安装--傻瓜式安装教程_新星计划_04

安装nnunet

再次进入虚拟环境后

pip install nnunet

安装好后可以查看下安装了的包

pip list

设置环境变量

这一步对于nnUNet来讲很重要,nnU-Net需要知道您打算将原始数据,预处理数据和训练好的的模型保存在何处。

参考链接

必须设置以下三个环境变量:

1 nnUNet_raw_data_base:原始文件存放地址。位于nnUNet_raw_data_base的文件夹必须至少具有子文件夹nnUNet_raw_data,该子文件夹又为每个任务包含一个子文件夹。用户有责任将原始数据转换为一下格式

nnU-Net 如何安装--傻瓜式安装教程_sed_05


2 nnUNet_preprocessed:这是将保存预处理数据的文件夹。训练期间还将从此文件夹中读取数据。因此,重要的是将其放置在访问延迟低且吞吐量高的驱动器上(常规sata或nvme SSD足够)。

3 RESULTS_FOLDER:这指定nnU-Net将在其中保存模型权重的位置。如果下载了预训练的模型,则将在此处保存它们。

这一步很重要,理清楚各个文件夹里面存放的是什么数据,不要存错地方

如何设置环境变量

有几种方法可以做到这一点。最常见的一种方法是在主目录中的.bashrc文件中设置路径。对我来说,该文件位于/home/fabian/.bashrc。您可以使用任何文本编辑器打开它。

如果看不到该文件,则可能是因为默认情况下该文件是隐藏的。您可以运行ls -al /home/fabian以确保看到它。在极少数情况下,它可能不存在,您可以使用创建它touch /home/fabian/.bashrc

nnU-Net 如何安装--傻瓜式安装教程_新星计划_06


在文本编辑器中打开文件后,将以下行添加到底部:

export nnUNet_raw_data_base="/media/fabian/nnUNet_raw"
export nnUNet_preprocessed="/media/fabian/nnUNet_preprocessed"
export RESULTS_FOLDER="/media/fabian/nnUNet_trained_models"

/media/fabian/改为你想存放的地方

如果没有文本编辑器,可以直接在终端修改:
修改方法

  • vim ~/.bashrc 进入到文件;
  • 直接按 i 键可以对文件进行修改, Esc + :+ wq 退出并保存修改之后的文件
  • 命令 :source ~/.bashrc 更新 .bashrc
  • nnU-Net 如何安装--傻瓜式安装教程_虚拟环境_07

  • 成功设置后,您可以通过键入echo $RESULTS_FOLDER etc来验证路径设置正确,并且应该打印出正确的文件夹。
  • nnU-Net 如何安装--傻瓜式安装教程_虚拟环境_08

设置路径的另一种方法

上面的方法在系统上永久设置路径(直到从.bashrc中删除行)。如果只希望临时设置它们,则可以在终端中运行导出命令:

export nnUNet_raw_data_base="/media/fabian/nnUNet_raw"
export nnUNet_preprocessed="/media/fabian/nnUNet_preprocessed"
export RESULTS_FOLDER="/media/fabian/nnUNet_trained_models"

注意 这将仅设置当前终端会话的路径(如果关闭终端,并且每次都需要重置,则变量将丢失)。

恭喜 : 到这里,就算安装成功了~~

nnU-Net 如何安装--傻瓜式安装教程_bash_09

注意

安装nnU-Net将向您的终端添加几个新命令。这些命令用于运行整个nnU-Net管道。您可以从系统上的任何位置执行它们。所有nnU-Net命令的前缀都有 nnUNet_ 这样易于识别。如训练命令nnUNet_train

请注意,这些命令仅执行python脚本。如果在虚拟环境中安装了nnU-Net,则在执行命令时必须激活该环境

所有nnU-Net命令都有一个-h选项,该选项提供有关如何使用它们的信息

nnU-Net 如何安装--傻瓜式安装教程_sed_10


在这里可以查看参数的使用

好不容易安装好了,总的练练兵吧。下一博客,我们就来实战吧~~


标签:fabian,--,傻瓜式,nnUNet,虚拟环境,Net,安装,nnU
From: https://blog.51cto.com/u_16159492/6481578

相关文章

  • JDBC-API详解-Statement
     packageTest;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importorg.junit.Test;publicclassJDBCdemo3_Statement{@TestpublicvoidtestDML()throwsException{//1.注册驱动//Class.fo......
  • 机器学习/深度学习前沿技术,论文,数据,源码?这个网站统统都有,必须收藏!
    废话不多,就是这个网站。https://paperswithcode.com/目录1.有事没事浏览一下最新技术2.3597个公开数据集1.有事没事浏览一下最新技术点击网页最上方,BrowseState-of-the-Art。里面涵盖了各个领域的最新技术论文,数据,以及论文代码。下面这个图是经上面翻译来的。主要包含以下几......
  • [计算机视觉]---贝塞尔曲线实现位图处理
    简介当使用贝塞尔曲线进行位图处理时,常见的应用包括图像编辑、路径绘制和图形设计。下面我将详细介绍一些具体的位图处理技术,涉及到贝塞尔曲线的应用。平滑曲线绘制贝塞尔曲线可以用于绘制平滑的曲线,例如在图像编辑软件中绘制自由曲线或手绘路径。通过选择控制点并计算插值点,可以在......
  • 实验7
    task4#include<stdio.h>intmain(){charc;inta=0,b=0,d=0,e=0,s=0;while((c=getchar())!=EOF){if(c>='a'&&c<='z'||c>='A'&&c<='Z')a++;elseif(......
  • 全网都在讲迁移学习,可你会写代码了吗?收藏我这个,10分钟开始你的迁移学习训练
    文章目录前言第一步加载预训练模型并修改类别数第二步选择模型所有层/最后一层进行反向传播优化探讨:如何确定模型最后一层的名字是什么方法一:查询源代码方法二:查询模型的子模块名字前言首先,这里不讲迁移学习的理论,只讲实践,因为理论已经全网飞了~~,不懂得大家先去学理论,理论学......
  • 最快最好用的数据增强库「albumentations」 一文看懂用法
    本文内容如下1.Albumentations的自我介绍2.案例欣赏3.如何安装4.有哪些数据增强方法4.1像素级变换(Pixel-leveltransforms)4.2空间级变换(Spatial-leveltransforms)5.看完就会的使用方法5.1Compose5.2Oneof5.3我们再随便看看其他的一些方法。5.4怎么把这些增强方法和pytorch......
  • MONAI(4)—一文看懂各种Transform用法(下)
    6裁剪&填充【SpatialCropd,CenterSpatialCropd,CropForegroundd,RandCropByPosNegLabeld,SpatialPadd】对于CT或者MRI图像来讲,图像是非常大的,又是一个三维图像,不可能全部输入网络中训练。要么把图像直接Resize到固定的尺寸,要么就是裁剪图像。monai提供了非常多的裁剪模式,包括......
  • MONAI(3)—一文看懂各种Transform用法(上)
    在上一次分享中,我们在Dataset方法里,已经使用了transform函数,这节课对transform做一个详细的介绍。上一次视频连接:MONAI中,一定要学会的三种Datasettransform大致可以分为以下几个类别想要什么样类别的变换,就在该类别下去找。目录普通变换和字典变换的联系与区别1.数据准备2.加载NIf......
  • 深度学习图像标签标注软件labelme超详细教程
    文章目录前言一、labelme是什么?二、快速安装使用1.windows安装2.linux安装3.macos安装安装成功的哑子三、界面说明四、为图像创建类标签4.1参数介绍4.1文件夹所有文件创建分类标签4.2为文件夹所有文件创建分割标签5.其他问题5.1如何快速查看分割的json文件5.2json转png前......
  • MONAI中,一定要学会的三种Dataset使用方法
    在正式学习MONAI功能函数前,以下的网址必须要收藏。1.MONAIAPI: https://docs.monai.io/en/latest/index.html作用:查询功能函数的用法,主要分为以下几类2.MONAIGitHub项目地址: https://github.com/Project-MONAI   作用:如果上述API介绍的不够完整,可以去项目里面找一些例子......