qgao21 / CoreDiff

35 stars 3 forks source link

关于代码通道数 #12

Open lomoly opened 3 weeks ago

lomoly commented 3 weeks ago

Hello,我遇到了如第2张图所示的问题,通道数有误。请教您该如何解决? 我查看了corediff_wrapper.py中Network类输入通道是3,其中调用UNet作为其属性,而UNet的输入通道是2,此处如图1该如何调整?另外,我还print了x通道数是3、x_adjust通道数是2、out的输出通道为1。 1 2

qgao21 commented 3 weeks ago
  1. Network输入通道数为3,是因为第一行代码中输出的x_mix是灰度图,只有1个通道;在第二行代码与相邻的切片拼接组成3通道图像输入到网络中。
  2. Network类中调用UNet类,但是在Network类里已经将UNet的输入通道初始化为3通道,并不是2个通道。理论上按源代码运行,不会报这个错误,你可以仔细检查下dataset类读取的CT图像是不是单通道灰度图,拼接那里代码有没有修改。
lomoly commented 3 weeks ago

您好,1.按您上述第一点提到,‘结合上下文’的这个概念是说单通道的灰度图结合相邻单通道切片,在通道维度相加形成一个三通道的512*512图像输入网络,类似于RGB?是这样理解吗? 2.针对代码,我分别print了CTDateset类下的input.shape=(3,512,512),target.shape=(1,512,512)拼接是没有问题的。我上传了我的bug图像,以及关于xy张量的形状,希望可以方便您做出判断。 3 4

qgao21 commented 3 weeks ago
image

在源代码中,传给self.inc()的是x,但是你的报错信息中显示传给self.inc()的是x_adjust,所以报错

lomoly commented 3 weeks ago

哦原来如此,谢谢so much!