UDTransNet icon indicating copy to clipboard operation
UDTransNet copied to clipboard

关于Synase数据集复现,git下来mDice和论文差很远?

Open whycantChinese opened this issue 1 year ago • 11 comments

GlaS数据集上展现了惊人的指标,但是Synapse上运行出来大约只有mDice = 0.86,是有什么别的参数需要调整吗?

whycantChinese avatar Oct 20 '24 10:10 whycantChinese

GlaS数据集上展现了惊人的指标,但是Synapse上运行出来大约只有mDice = 0.86,是有什么别的参数需要调整吗?

请问您的synapse复现是怎么做到的,有对源代码进行修改吗

slx1213 avatar Nov 06 '24 13:11 slx1213

GlaS数据集上展现了惊人的指标,但是Synapse上运行出来大约只有mDice = 0.86,是有什么别的参数需要调整吗?

请问您的synapse复现是怎么做到的,有对源代码进行修改吗

作者给出的所有数据集我都已经复现完了,synapse在readme里面用作者给出的网盘。另外我的指标在ISIC17上保持论文水平,其他数据集均值下降0.1-0.2左右,方差略高,最优情况高于论文的指标。synapse和论文中差2%略多,但是我放弃这个数据集了所以只做了一次。

whycantChinese avatar Nov 06 '24 13:11 whycantChinese

GlaS数据集上展现了惊人的指标,但是Synapse上运行出来大约只有mDice = 0.86,是有什么别的参数需要调整吗?

请问您的synapse复现是怎么做到的,有对源代码进行修改吗

作者给出的所有数据集我都已经复现完了,synapse在readme里面用作者给出的网盘。另外我的指标在ISIC17上保持论文水平,其他数据集均值下降0.1-0.2左右,方差略高,最优情况高于论文的指标。synapse和论文中差2%略多,但是我放弃这个数据集了所以只做了一次。

感谢您的回答,我想问的就是我在复现synapse数据集时,会报错说标签值超出范围,我试着修改了作者代码中的分类数量还是报错。所以我想问问您是怎么复现的这个数据集,是否对源代码进行修改还是直接运行的训练?

slx1213 avatar Nov 07 '24 01:11 slx1213

GlaS数据集上展现了惊人的指标,但是Synapse上运行出来大约只有mDice = 0.86,是有什么别的参数需要调整吗?

请问您的synapse复现是怎么做到的,有对源代码进行修改吗

作者给出的所有数据集我都已经复现完了,synapse在readme里面用作者给出的网盘。另外我的指标在ISIC17上保持论文水平,其他数据集均值下降0.1-0.2左右,方差略高,最优情况高于论文的指标。synapse和论文中差2%略多,但是我放弃这个数据集了所以只做了一次。

感谢您的回答,我想问的就是我在复现synapse数据集时,会报错说标签值超出范围,我试着修改了作者代码中的分类数量还是报错。所以我想问问您是怎么复现的这个数据集,是否对源代码进行修改还是直接运行的训练?

确认数据集按照规则放好之后,只修改config里的任务名字。

whycantChinese avatar Nov 07 '24 07:11 whycantChinese

谢谢您的回答,我按照您的方式进行运行依然报错''RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1. Compile with TORCH_USE_CUDA_DSA to enable device-side assertions. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [448,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [672,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [673,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [896,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [897,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [898,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [96,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [97,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [98,0,0] Assertion t >= 0 && t < n_classes failed. 如果您知道怎么修改,您是否能给我提供个解决思路。十分感谢您的回答

slx1213 avatar Nov 07 '24 09:11 slx1213

请问您复现的时候该参数了吗,我为啥都达不到论文里的精度

xiaoze0801 avatar Dec 26 '24 00:12 xiaoze0801

谢谢您的回答,我按照您的方式进行运行依然报错''RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1. Compile with TORCH_USE_CUDA_DSA to enable device-side assertions. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [448,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [672,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [673,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [896,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [897,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [898,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [96,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [97,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [98,0,0] Assertion t >= 0 && t < n_classes failed. 如果您知道怎么修改,您是否能给我提供个解决思路。十分感谢您的回答

我没遇到过这个,但是根据这报错你应该是windows系统,我在LINUX系统下遇不到这个问题

whycantChinese avatar Dec 26 '24 05:12 whycantChinese

请问您复现的时候该参数了吗,我为啥都达不到论文里的精度

你复现具体多少,我做了三个数据集ISIC18、Synapse、Glas,用的CUDA12.4,torch2.0 ISIC18基本没啥问题,他这论文出的时候还没有测试集,他这个用五折平均结果当结果科不科学先不说,但是他论文89.91,我做出来最高有89.95,还算可以的了,但是在后来发布的测试集上其实表现不咋地,甚至不如TransUnet。 Synapse达不到他的精度,他说89.18,我复现出来88.6-88.8,跑了三次了 Glas波动很大,90.2-90.8我都复现出来过,他这个91.0估计就是取了个最好的。

whycantChinese avatar Dec 26 '24 05:12 whycantChinese

我最近一次跑出来GLAS是90.24,ISIC18是90.08,Synapse我没跑。我把参数改了跑的

xiaoze0801 avatar Dec 30 '24 06:12 xiaoze0801

我最近一次跑出来GLAS是90.24,ISIC18是90.08,Synapse我没跑。我把参数改了跑的

改了啥参数,GLAS感觉纯波动,ISIC18倒是挺可信的,但是在测试集上表现一般般吧。 这篇文章我觉得挺好的,另一篇UCTransNet更是灾难级,GlaS我测出来只有87%,搞得我做对比实验还要专门写一句我复现不了所以直接使用了作者提供的权重

whycantChinese avatar Dec 30 '24 12:12 whycantChinese

谢谢您的回答,我按照您的方式进行运行依然报错''RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1. Compile with TORCH_USE_CUDA_DSA to enable device-side assertions. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [448,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [672,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [673,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [896,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [897,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [898,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [96,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [97,0,0] Assertion t >= 0 && t < n_classes failed. C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\NLLLoss2d.cu:104: block: [1,0,0], thread: [98,0,0] Assertion t >= 0 && t < n_classes failed. 如果您知道怎么修改,您是否能给我提供个解决思路。十分感谢您的回答

你解决这个问题了吗

lvchunjie avatar Jan 09 '25 18:01 lvchunjie