本文主要是介绍(二十五:2020.12.15)CVPR 2020 学习(三)《U^2 Net》训练实操(21.1.4更新),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《U^2 Net: Going Deeper with Nested U-Structure for Salient Object Detection》《借助嵌套U型结构深入研究显着物体》
- 讲在前面
- 一、如何整理你的医学图像数据集
- 1.选择数据集
- 2.转换你的data
- 3.转换你的label
- 4.将数据放置在对应的路径下
- 二、使用你整理好的数据进行训练
- 1.`ValueError: At least one stride in the given numpy array is negative, and tensors with negative strides are not currently supported. (You can probably work around this by making a copy of your array with array.copy().)`
- 2.`IndexError: invalid index of a 0-dim tensor. Use tensor.item() in Python or tensor.item() in C++ to convert a 0-dim tensor to a number`
- 3.3090的环境问题
- 三、执行`u2net_train.py`,跑起来!!!
- 四、测试训练完的模型的结果
- 1.先看下我的过拟合版本的结果
- 2.再看下我的其他版本的结果
- 3.看下nnUNet的模型推理结果
- 4.实验结论
- 1.nnUNet
- 2.u2net
讲在前面
- 一.因为推理和测试部分很简单,也有对应的模型下载,这里不做多的赘述;
- 二.由于作者用的torch是0.4.0,所以在实际操作的过程中,遇到一些版本兼容的问题,在这里我做一下记录,希望看了该博客大家能够顺利的使用U2-net。
- 三.我用了自己的肾脏数据集,因为原始数据是nii,所以我将数据转换成了2d的图片进行训练,这里自己的代码公开一下,方便各位医学图像处理的读者进行更方便的处理。
- 四.我的6000张图片已经开始3090的训练,让我们等待一个过拟合版本,看看是否真的配的上它如此高的热度。
- 五.之前的训练因为把训练集搞错了自己有点晕也一直没有发现,以为这个模型用不起,最近空下来发现这个问题,今天更新下我的训练结果。
一、如何整理你的医学图像数据集
1.选择数据集
我这里选择的是肾脏的数据集,网上公开的此类数据集有很多,但是很多都是nii文件,所以你需要将这些文件转成2d的图片格式。
我的数据集就是之前nnUNet的训练数据集
2.转换你的data
也就是之前nnUNet里面的imagesTr文件夹(未加_0000之前的那个文件夹),也就是这种:
我在这里用下面代码进行转换,这里转换为jpg文件:
nii_files = r'/media/qiao/WindowsData/u2net_test/nii_data/imagesTr_'
image_name = r'/media/qiao/WindowsData/u2net_test/nii_data/data'
filelist = os.listdir(nii_files<
这篇关于(二十五:2020.12.15)CVPR 2020 学习(三)《U^2 Net》训练实操(21.1.4更新)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!