Unet_model_ Conv9


I see that after expansion path, a Conv2D is applied to the output. (I mean right before applying the final Conv2D which ends to a tensor of num_classes channels. )

in the figure of the U-net architecture I don’t see such layer. I mean after expansion path, the final Conv2D is applied.

So what is the reason of conv9?

thanks in advance.


Welcome to the community. You have a great question indeed. Nothing is mentioned about the conv9 layer in the notebook, and even in the original paper, which can be found here, there is no reference to this extra convolutional layer.

However, I would like to point your attention towards 2 important things that have been mentioned in the kernel:

  • The U-Net network has 23 convolutional layers in total.
  • The figures shown in the assignment for the U-Net architecture depict the layer dimensions and filter sizes as per the original paper on U-Net with smaller images. However, due to computational constraints for this assignment, you will code only half of those filters.

The second point indicates that the kernel uses a different setting than the original paper’s configuration, and perhaps, the developers of this kernel might have gotten better results after including this extra Conv layer. Also, note that according to the first point, the U-Net (in its original form) consists of 23 conv layers, but in the assignment you can find the number of conv layers as 24, another indication of this extra layer being a part of U-Net, specifically for this assignment.

However, once you have submitted your assignment and it has been graded, you can try to remove this layer and compare the results yourselves, and see if this layer really helps or not. I hope this helps.