PaddlePaddle / PaddleSeg

Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.
https://arxiv.org/abs/2101.06175
Apache License 2.0
8.57k stars 1.68k forks source link

在unetr上训练自己的数据集 #3051

Closed iyangiii closed 1 year ago

iyangiii commented 1 year ago

问题确认 Search before asking

请提出你的问题 Please ask your question

使用MedicalSeg套件unetr模型训练自己的数据集 该怎么训练 图像本身可以转化为三维数组 unetr需要四维数组作为数据传入模型 并且该模型需要的数据为[batch size,channel,height,weight],强行将nii文件转化为三维数组后增加一个维度变为四维数组并交换维度再转化为nii文件传入模型会报错 image 请问如何解决

shiyutang commented 1 year ago

Hello~ 你可以仿照msd_brain_dataset增加一个自己数据集的文件。其作用在于在预处理文件成为numpy数组之后,通过这个数据集传入dataloader就可以获得指定形状的4维数组,更加详细的在自己数据集上训练的教程在:https://github.com/PaddlePaddle/PaddleSeg/blob/develop/contrib/MedicalSeg/README_CN.md#-%E5%9C%A8%E8%87%AA%E5%B7%B1%E7%9A%84%E6%95%B0%E6%8D%AE%E4%B8%8A%E8%AE%AD%E7%BB%83

iyangiii commented 1 year ago

你好~ 你可以仿照msd_brain_dataset增加一个自己数据集的文件。其作用在于在预处理文件成为numpy数组之后,通过这个数据集传入dataloader就可以获得指定形状的4维数组,更加详细的在自己数据集上训练的教程在:https://github.com/PaddlePaddle/PaddleSeg/blob/develop/contrib/MedicalSeg/README_CN.md#-%E5%9C%A8%E8%87%AA%E5%B7%B1%E7%9A%84%E6%95%B0%E6%8D%AE%E4%B8%8A%E8%AE%AD%E7%BB%83

你好 我是严格按照那个教程来的 配置文件和数据集等 都是按照教程一步一步走的 image 但还是出现了以上问题 请问能否再给出一些信息

shiyutang commented 1 year ago

看了一下你的报错~ 第一个报错是数据类型不符合期望,在transform的时候需要numpy作为输入,但是获取到了nii,说明没有进行prepare_dateset.py 的操作,将数据转换成numpy。 第二个报错,我对应代码看了下,但是没有找到你出错的这行代码,建议更新代码版本到最新的develop,另外这个报错也是数据读取出错,可以往这个方向看看,不过还是建议替换为develop版本,并处理好数据(参考其他数据的prepare dataset)后再进行尝试。如果后续遇到其他问题,欢迎在本条issue下更新。

iyangiii commented 1 year ago

看了一下你的报错~ 第一个报错是数据类型不符合期望,在transform的时候需要numpy作为输入,但是获取到了nii,说明没有进行prepare_dateset.py 的操作,将数据转换成numpy。 第二个报错,我对应代码看了下,但是没有找到你出错的这行代码,建议更新代码版本到最新的develop,另外这个报错也是数据读取出错,可以往这个方向看看,不过还是建议替换为develop版本,并处理好数据(参考其他数据的prepare dataset)后再进行尝试。如果后续遇到其他问题,欢迎在本条issue下更新。

你好 我发现了自己确实缺少了prepare_msd_brain_seg这步操作 但是我在运行这步操作时 我想对自己的数据集进行预处理该怎么操作 我运行这步命令 他会下载自带的数据集 试图修改后面的数字 都会报错 也已经尝试过将自己的数据集的压缩包放在了medicalseg对应的data目录下 image

shiyutang commented 1 year ago

需要为自己数据仿照撰写一个prepare_msd_brain_seg的脚本,主要是进行格式转换和切图。如果已经有数据,可以跳过数据下载这步。