Ubuntu下跑通 nnUNet v2

网上关于nnUNet运行的教程大部分是针对nnUNet v1的。但由于nnUNet v2已经推出,而且相对于v1有了很大的更新。所以个人只能啃nnUNet的英文文档+参考在Windows上实现nnU-Net v2的环境配置_netv2_无聊的程序猿的博客-CSDN博客 实现了代码的复现。

1.System requirements及笔者的基础环境:

系统要求:Linux (Ubuntu 18.04, 20.04, 22.04; centOS, RHEL), Windows and MacOS

硬件要求:GPU, CPU and Apple M1/M2  (苹果设备不支持3D 卷积, 需要使用CPU).

训练硬件要求:至少有10G显存的GPU;至少6核的CPU

环境要求:python 3.9及以上

笔者的基础环境:

系统:Ubuntu 20.04 python:3.10.9   pytorch:2.0.0    cuda:11.7

2.数据准备:

2.1 下载代码:命令行运行git clone https://github.com/MIC-DKFZ/nnUNet.git

2.2 conda create nnUNet 并 activate nnUNet

2.3 进到代码所在的目录下,安装环境         cd nnUNet

        pip install -e .

2.4 新建几个文件夹,新手可以参考我创建的文件夹目录结构

 2.5 添加数据目录到系统环境变量中:运行sudo gedit /home/用户名/.bashrc,在结尾根据自己数据的目录,添加三行内容,例如我的数据文件所在目录如3.4,我添加的内容如下:

export nnUNet_raw="/home/lang/PycharmProjects/nnUNet/nnUNetFrame/DATASET/nnUNet_raw"
export nnUNet_preprocessed="/home/lang/PycharmProjects/nnUNet/nnUNetFrame/DATASET/nnUNet_preprocessed"
export nnUNet_results="/home/lang/PycharmProjects/nnUNet/nnUNetFrame/DATASET/nnUNet_results"

2.6 到Medical Segmentation Decathlon中下载数据集,可以在任何一个路径path下,不要放到步骤2.5的目录中。

2.7 数据转化,在命令行输如下命令,把2.6路径下的数据集进行转化

nnUNetv2_convert_MSD_dataset  -i  步骤2.6数据集的路径  -overwrite_id 201

说明:201是数据集的ID,如果是自定义数据集,10以上都可以。

转换后,会看到nnUnet_raw目录下产生了新的文件。

2.8 数据集传入到nnUNet_preprocessed目录下:

nnUNetv2_plan_and_preprocess -d DATASET_ID --verify_dataset_integrity

参数说明:DATASET_ID是数据的ID,首次运行建议加--verify_dataset_integrity参数,对数据进行正确性检查。

我运行的命令是:nnUNetv2_plan_and_preprocess -d 201 --verify_dataset_integrity

注意:这里-d参数值需要与2.7的ID一致,

运行后nnUNet_preprocessed文件夹下产生了新的文件

3.开始训练

到/nnUNet/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py中,可修改self.num_epochs,减少训练epoch

nnUNetv2_train DATASET_NAME_OR_ID UNET_CONFIGURATION FOLD [additional options, see -h]

参数说明:DATASET_NAME_OR_ID是数据集ID  UNET_CONFIGURATION是数据格式  FOLD代表选择五折交叉验证中的哪个文件夹做训练,取值范围[0,1,2,3,4],UNET_CONFIGURATION参数是数据类型参数,默认是2d, 其他可选值3d_fullres, 3d_lowres, 3d_cascade_lowres。

我运行的命令是:nnUNetv2_train 201 3d_fullres 4

几个坑:

1.如果pycharm是从软件商店安装的,它在运行时使用的环境变量文件不是系统环境变量/home/username/bashrc;因此应该直接从pycharm官网下载pycharm安装包,解压后通过命令行运行bin目录下的./pycharm.sh文件启动。

2.如果仅仅通过conda创建了一个空虚拟环境,在pycharm里是无法切换到这个空环境的。必须将必要的package install到虚拟环境中才可以。

3.如果使用conda时报异常,排除其他原因无果后,可以查看是否开启了VPN。将VPN关闭,conda功能恢复正常。

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值