You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A Dropout rate of 50% is systematically applied in the V-Net even when dropout_prob is set to 0 #6116
I noticed that the segmentation performance of the V-Net was a step below other architectures (DynUNet, BasicUnetPlusPlus ...). By looking at the implementation, I noticed that a dropout rate of 50% is systematically applied (hard-coded) in the UpTransition layers of the V-Net, even the user sets dropout_prob to 0.
In monai.networks.nets.vnet : self.dropout = dropout_type(dropout_prob) if dropout_prob is not None else None (l147)
--> self.dropout2 = dropout_type(0.5)(l148)
Expected behavior
It is expected that dropout is set to 0 when dropout_prob is set to 0 in the VNet class.
Activity
Nic-Ma commentedon Mar 8, 2023
Hi @wyli ,
I think the original author of VNet already left our team, could you please help confirm this question?
Thanks in advance.
KumoLiu commentedon Mar 9, 2023
Hi @BLmbert, I just take a look at the original implementation. There are indeed two dropout rate in the net. The second dropout is hardcoded to 0.5 in the original implementation. Of course, we could also make the second dropout ratio more flexible as well. The
dropout_probthe user set is used in Line 155https://github.com/mattmacy/vnet.pytorch/blob/a00c8ea16bcaea2bddf73b2bf506796f70077687/vnet.py#L93-L94
Thanks!
cc @wyli @Nic-Ma
feat(vnet): convert `dropout_prob` to a tuple (#6768)