chrischoy/FCGF

Network architecture diagram does not match the implementation code

virtualRooom opened this issue · 1 comments

Hi chrischoy, @chrischoy

Nice work and thank you for sharing the code.

I have a question about the implementation of ResUNet2. In my opinion, the forward() function of ResUNet2 should look like:

def forward(self, x): 
   out_s1 = self.conv1(x) 
   out_s1 = self.norm1(out_s1) 
   out_s1 = MEF.relu(out_s1)
   out= self.block1(out_s1) 
   ...

As shown in the ResUNet architecture in the paper:
image

However, your implement of ResUNet2 feed output of residual block to 3D ConvTr, and activate feature map twice using ReLU(one in self.block, one in MEF.relu). Is there a problem here, or am I missing something?

FCGF/model/resunet.py

Lines 142 to 147 in 458549e

def forward(self, x):
out_s1 = self.conv1(x)
out_s1 = self.norm1(out_s1)
out_s1 = self.block1(out_s1)
out = MEF.relu(out_s1)

Yes, your first model was the one that I tried first and experimentally, I found that the current model works better.

The diagram might not match the implementation as we tried various models in the camera ready and used the one variation that worked best. Sorry for the confusion.