-
Deep Atlas |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 4 replies
-
Hi @ericspod , Could you please help share some information about this question? Thanks in advance. |
Beta Was this translation helpful? Give feedback.
-
Our def _get_down_layer(self, in_channels: int, out_channels: int, strides: int, is_top: bool) -> nn.Module:
dlayer=super()._get_down_layer(in_channels, out_channels, 1, is_top)
return nn.Sequential([nn.MaxPool(...), dlayer]) |
Beta Was this translation helpful? Give feedback.
-
Hey if you're by any chance referring to this, then you may also want to check out the tutorial notebook here: https://github.com/Project-MONAI/tutorials/tree/main/deep_atlas it's not an exact implementation of the paper (e.g. there is no max pooling as you are looking for) but it gets the idea |
Beta Was this translation helpful? Give feedback.
Our
BasicUNet
class uses maxpool so that is an option. For the generalUNet
class it's general experience that maxpooling isn't optimal versus using strided convolutions as we do. However if you wanted to change how the behaviour works you would have to override theUNet._get_down_layer
method in a subclass ofUNet
which would call the inherited method with arguments passed except withstrides
set to 1, but return ann.Sequential
object containing the maxpool layer and the layer returned by the called inherited method. I think that will give you the behaviour you're expecting, my sketch of this is below which I haven't tested at all: