Closed ruifenggong closed 2 years ago
target_spacing应该是根据数据集设定的,我是follow了nnUNet的设定,target_spacing设为整个数据集spacing的中位数。这个数值只会影响输入图像的size,理论上应该不会导致CUDA error,我的实验中是没出过这个问题的。这个error可能是label数据出了问题,可以试着在loss之前看看label里面的值有没有超过classes类别的,或者跟你网络最后输出层channel数是不是匹配的上。
target_spacing应该是根据数据集设定的,我是follow了nnUNet的设定,target_spacing设为整个数据集spacing的中位数。这个数值只会影响输入图像的size,理论上应该不会导致CUDA error,我的实验中是没出过这个问题的。这个error可能是label数据出了问题,可以试着在loss之前看看label里面的值有没有超过classes类别的,或者跟你网络最后输出层channel数是不是匹配的上。
感谢提醒。
我目前做的只有一个标签的分割。 在loss前这样处理后,能正常训练。
label[label >= args.classes] = args.classes - 1
label[label < 0] = 0
小建议,训练日志输出时,batchtime和training time数值相差不大,可以精简掉一个。
print('[%d/%d]: %d loss: %.5f, batch_time:%.5fs' % (epoch + 1, args.epochs, i, loss.item(), batch_time))
感谢建议,这两个time是之前debug时候用的,忘记删掉了。这个框架目前还是非常初步的状态,有任何建议或者遇到什么bug欢迎提issue。感谢!
非常棒的框架,请问在使用自己的数据集时,需要在data_conversion/acdc_3d.py中注意哪些参数?
[def ResampleCMRImage(imImage, imLabel, save_path, patient_name, count, target_spacing=(1., 1., 1.)):](url)
我参照acdc_3d.py创建了一个自己数据集的
mydataset_3d.py
文件,但是发现ResampleCMRImage
类中传入的target_spaceing
为其他值时,比如(0.6481,0.6481,1),在trian的过程中,会出现RuntimeError: CUDA error: device-side assert triggered
的问题。试过其他spaceing值也是如此,但是采用默认的(1.5625,1.5625,5)是可以训练的。另外,我使用的是CT的血管分割数据
请问这个spaceing值要如何设置?或者我还需要修改哪些地方?