赞
踩
关于nnUNet的具体概念这里不在赘述,总的来说它是一个自适应数据集的分割网络,仅仅使用unet网络,V2版本在数据集上的包容性更强,除了nii,gz格式,还支持png格式等等,如果有需要转文件格式,请参考我以前的博文
ubuntu 18,20,22(旧版本的要求为16,18,20,我觉得22也可以,但是没试过);python3.9以上;pytorch2.0以上
ubuntu22;python10;pytorch2.0
默认大家都是要下载下来进行改动的哈,所有在ubuntu终端输入如下命令
git clone https://github.com/MIC-DKFZ/nnUNet.git``
**但是!!**用终端克隆代码真的很慢,虽然有一些解决办法,可是有时候也会报错,所以,高端的食材往往采用最朴素的烹饪方式!直接去github上下载,下载地址就是nnUNetV2,推荐把他下载在ubuntu的home里,不信你听不懂,如果你需要nnUNet的旧版本,点击nnUNetV2的readme,如下,直接传送过去
在下载下来以后如果文件名字不是nnUNet,可以给文件夹重命名一下,方便后面你直接复制代码
继续在终端输入
cd nnUNet
就是进入nnUNet文件夹
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e .
各位小白直接用可能又会出错啦,所以直接上清华源,务必全部复制,包括后面那个点,不要漏了
同样
git clone https://github.com/FabianIsensee/hiddenlayer.git
cd hiddenlayer
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e .
nnUNetV2相对于旧版本来说在格式上宽容很多,不过在正题开始之前,我们先把一些需要的文件夹弄好!
4.1 到我们的home里,找到我们刚刚下载的nnUNet文件夹,点开,新建一个nnUNetFrame文件,
4.2 点开,在里面新建DATASET文件夹
4.3 点开,新建3个文件夹,分别是nnUNet_raw;nnUNet_preprocessed;nnUNet_results
到这里,我们的文件夹就建好了
设置环境变量
export nnUNet_raw="nnUNet_raw文件夹的完整路径"
export nnUNet_preprocessed="preprocessing文件夹的完整路径"
export nnUNet_results="nnUnet_results文件夹的完整路径"
4.3那里新建的三个文件夹的路径,可以通过查看文件夹的属性来查看,复制
source /home/你的用户名/.bashrc
其实用
source .bashrc
也可以,但是有时候没用,我就遇到这个问题,多改了几次然后更新不了,后面数据集转化一直报错,搞了老半天才发现问题,所以如果伙伴们在数据集转化时出现问题,很大可能就是这里没弄好
我们先把MSD数据集下下来数据集链接,随便放到什么地方,还是跟我一样直接放在home那吧,好找,我下的是第二个Heart数据集,因为它小
然后就可以进行数据集转化啦
nnUNetv2_convert_MSD_dataset -i 原数据集的路径 -overwrite_id 02
最后的02是下载下来数据集的ID,如果是其他数据集做相应更改
这时候在nnUNet_raw里面就有转化好的数据集文件啦
注意!!!V2版本的是Datasetxxx,旧版本的是Taskxxx(忽略我那个Task,那是个失败品),打开转化出来的数据集是这个样子
第一个文件里面存放的是训练文件,相对于没有转化的原数据集,它多了0000这种标识,如果你转出来的是这种,那就对了,而标签文件是没有这些0000的
nnUNetv2_plan_and_preprocess -d 002 --verify_dataset_integrity
把002换成自己的数据集ID
nnUNetv2_train 002 2d 0
这里002是数据集ID
2d:是选择网络,其他还有3d_fullres, 3d_lowres, 3d_cascade_lowres
0:5折交叉验证中所选的折数,在[0,1,2,3,4]范围内选择,有的博主说5代表5折,我看了代码以后不那么认为,选5也可以运行,但是不是5折交叉验证,nnUNet会以4:1的比例随机选择训练集和验证集,如果不想使用5折交叉,自己进行训练集和验证集的划分,我后续会出教程
soon
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。