UNet deepest layer number of features #1760
-
Hi, I was again looking at the UNet architecture, and I noticed that there is an extra convolution (stride 1x1x1) in the deepest layer. Could you explain the reasoning behind this? Thank you. model = UNet( edit: |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments
-
Hi @ericspod , Could you please help share some info here? Thanks. |
Beta Was this translation helpful? Give feedback.
-
The final value in the |
Beta Was this translation helpful? Give feedback.
-
Okay, so its goes from 128 with a normal convolution to 256. Where does the SkipConnection come from (384)? I was under the impression that after the last down-sampling, so in the bottom layer, it would go to up-sampling directly. So without the convolution with stride 1. |
Beta Was this translation helpful? Give feedback.
-
That follows the bottom layer and is the first layer of the upsampling branch. The UNet is structured as embedded layers where each includes the downsample path, a skip connection, the next layer down, and the upsample branch concatenating data from the skip connection and the output of the next layer down. |
Beta Was this translation helpful? Give feedback.
-
Thank you for answering my questions. I think I understand it now. |
Beta Was this translation helpful? Give feedback.
The final value in the
channels
argument defines the size of the bottom layer of the UNet structure, which doesn't involve any down/upsampling thus the stride of 1. UNet typically has a bottom layer of convolutions representing information dense in the channel dimension with downsampled spatial dimensions, this is the latent space the upsampling branch of the network starts with to decode the output.