From 3952dc28b2b913b931e79c493efbc18c07c314ed Mon Sep 17 00:00:00 2001 From: ahatamizadeh Date: Sat, 21 May 2022 14:45:53 -0700 Subject: [PATCH 1/6] update swin_unetr block name Signed-off-by: ahatamizadeh --- monai/networks/nets/swin_unetr.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/monai/networks/nets/swin_unetr.py b/monai/networks/nets/swin_unetr.py index d898da9884..082a83b332 100644 --- a/monai/networks/nets/swin_unetr.py +++ b/monai/networks/nets/swin_unetr.py @@ -626,10 +626,10 @@ def load_from(self, weights, n_block, layer): "attn.proj.bias", "norm2.weight", "norm2.bias", - "mlp.linear1.weight", - "mlp.linear1.bias", - "mlp.linear2.weight", - "mlp.linear2.bias", + "mlp.fc1.weight", + "mlp.fc1.bias", + "mlp.fc2.weight", + "mlp.fc2.bias", ] with torch.no_grad(): self.norm1.weight.copy_(weights["state_dict"][root + block_names[0]]) From c2e57a010273c5afddd67172dffebc4fb506cd6a Mon Sep 17 00:00:00 2001 From: ahatamizadeh Date: Sat, 21 May 2022 14:55:41 -0700 Subject: [PATCH 2/6] update swin_unetr block name Signed-off-by: ahatamizadeh --- monai/networks/nets/swin_unetr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monai/networks/nets/swin_unetr.py b/monai/networks/nets/swin_unetr.py index 082a83b332..a5935efd94 100644 --- a/monai/networks/nets/swin_unetr.py +++ b/monai/networks/nets/swin_unetr.py @@ -40,7 +40,7 @@ def __init__( out_channels: int, depths: Sequence[int] = (2, 2, 2, 2), num_heads: Sequence[int] = (3, 6, 12, 24), - feature_size: int = 48, + feature_size: int = 24, norm_name: Union[Tuple, str] = "instance", drop_rate: float = 0.0, attn_drop_rate: float = 0.0, From b92cdb2863ad0f1347bba2ec4b4d00dc7a0c3157 Mon Sep 17 00:00:00 2001 From: ahatamizadeh Date: Sat, 21 May 2022 22:19:22 -0700 Subject: [PATCH 3/6] update swin_unetr block name Signed-off-by: ahatamizadeh --- monai/networks/blocks/dynunet_block.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/monai/networks/blocks/dynunet_block.py b/monai/networks/blocks/dynunet_block.py index 8b22cb16a9..18a560b53d 100644 --- a/monai/networks/blocks/dynunet_block.py +++ b/monai/networks/blocks/dynunet_block.py @@ -62,14 +62,15 @@ def __init__( self.conv2 = get_conv_layer( spatial_dims, out_channels, out_channels, kernel_size=kernel_size, stride=1, dropout=dropout, conv_only=True ) - self.conv3 = get_conv_layer( - spatial_dims, in_channels, out_channels, kernel_size=1, stride=stride, dropout=dropout, conv_only=True - ) self.lrelu = get_act_layer(name=act_name) self.norm1 = get_norm_layer(name=norm_name, spatial_dims=spatial_dims, channels=out_channels) self.norm2 = get_norm_layer(name=norm_name, spatial_dims=spatial_dims, channels=out_channels) - self.norm3 = get_norm_layer(name=norm_name, spatial_dims=spatial_dims, channels=out_channels) self.downsample = in_channels != out_channels + if self.downsample: + self.conv3 = get_conv_layer( + spatial_dims, in_channels, out_channels, kernel_size=1, stride=stride, dropout=dropout, conv_only=True + ) + self.norm3 = get_norm_layer(name=norm_name, spatial_dims=spatial_dims, channels=out_channels) stride_np = np.atleast_1d(stride) if not np.all(stride_np == 1): self.downsample = True From 96c7bbdc763173a201b3f08fc09189afe0614f72 Mon Sep 17 00:00:00 2001 From: ahatamizadeh Date: Sat, 21 May 2022 23:02:16 -0700 Subject: [PATCH 4/6] update swin_unetr block name Signed-off-by: ahatamizadeh --- monai/networks/blocks/dynunet_block.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monai/networks/blocks/dynunet_block.py b/monai/networks/blocks/dynunet_block.py index 18a560b53d..3d85816ab0 100644 --- a/monai/networks/blocks/dynunet_block.py +++ b/monai/networks/blocks/dynunet_block.py @@ -66,7 +66,7 @@ def __init__( self.norm1 = get_norm_layer(name=norm_name, spatial_dims=spatial_dims, channels=out_channels) self.norm2 = get_norm_layer(name=norm_name, spatial_dims=spatial_dims, channels=out_channels) self.downsample = in_channels != out_channels - if self.downsample: + if self.downsample is not False: self.conv3 = get_conv_layer( spatial_dims, in_channels, out_channels, kernel_size=1, stride=stride, dropout=dropout, conv_only=True ) From cf6debeadb69082bfb51877f97186f6efd61376a Mon Sep 17 00:00:00 2001 From: ahatamizadeh Date: Sat, 21 May 2022 23:14:33 -0700 Subject: [PATCH 5/6] update swin_unetr block name Signed-off-by: ahatamizadeh --- monai/networks/blocks/dynunet_block.py | 9 ++++----- monai/networks/nets/swin_unetr.py | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/monai/networks/blocks/dynunet_block.py b/monai/networks/blocks/dynunet_block.py index 3d85816ab0..8b22cb16a9 100644 --- a/monai/networks/blocks/dynunet_block.py +++ b/monai/networks/blocks/dynunet_block.py @@ -62,15 +62,14 @@ def __init__( self.conv2 = get_conv_layer( spatial_dims, out_channels, out_channels, kernel_size=kernel_size, stride=1, dropout=dropout, conv_only=True ) + self.conv3 = get_conv_layer( + spatial_dims, in_channels, out_channels, kernel_size=1, stride=stride, dropout=dropout, conv_only=True + ) self.lrelu = get_act_layer(name=act_name) self.norm1 = get_norm_layer(name=norm_name, spatial_dims=spatial_dims, channels=out_channels) self.norm2 = get_norm_layer(name=norm_name, spatial_dims=spatial_dims, channels=out_channels) + self.norm3 = get_norm_layer(name=norm_name, spatial_dims=spatial_dims, channels=out_channels) self.downsample = in_channels != out_channels - if self.downsample is not False: - self.conv3 = get_conv_layer( - spatial_dims, in_channels, out_channels, kernel_size=1, stride=stride, dropout=dropout, conv_only=True - ) - self.norm3 = get_norm_layer(name=norm_name, spatial_dims=spatial_dims, channels=out_channels) stride_np = np.atleast_1d(stride) if not np.all(stride_np == 1): self.downsample = True diff --git a/monai/networks/nets/swin_unetr.py b/monai/networks/nets/swin_unetr.py index a5935efd94..2bb5da54a3 100644 --- a/monai/networks/nets/swin_unetr.py +++ b/monai/networks/nets/swin_unetr.py @@ -45,7 +45,7 @@ def __init__( drop_rate: float = 0.0, attn_drop_rate: float = 0.0, dropout_path_rate: float = 0.0, - normalize: bool = False, + normalize: bool = True, use_checkpoint: bool = False, spatial_dims: int = 3, ) -> None: @@ -967,7 +967,7 @@ def proj_out(self, x, normalize=False): x = rearrange(x, "n h w c -> n c h w") return x - def forward(self, x, normalize=False): + def forward(self, x, normalize=True): x0 = self.patch_embed(x) x0 = self.pos_drop(x0) x0_out = self.proj_out(x0, normalize) From 02fae63627b59aa8e35fe2e19064d437543ab027 Mon Sep 17 00:00:00 2001 From: ahatamizadeh Date: Sat, 21 May 2022 23:30:34 -0700 Subject: [PATCH 6/6] update swin_unetr block name Signed-off-by: ahatamizadeh --- monai/networks/nets/swin_unetr.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/monai/networks/nets/swin_unetr.py b/monai/networks/nets/swin_unetr.py index 2bb5da54a3..79a7936433 100644 --- a/monai/networks/nets/swin_unetr.py +++ b/monai/networks/nets/swin_unetr.py @@ -275,8 +275,6 @@ def load_from(self, weights): self.swinViT.layers4[0].downsample.norm.bias.copy_( weights["state_dict"]["module.layers4.0.downsample.norm.bias"] ) - self.swinViT.norm.weight.copy_(weights["state_dict"]["module.norm.weight"]) - self.swinViT.norm.bias.copy_(weights["state_dict"]["module.norm.bias"]) def forward(self, x_in): hidden_states_out = self.swinViT(x_in, self.normalize) @@ -950,7 +948,6 @@ def __init__( elif i_layer == 3: self.layers4.append(layer) self.num_features = int(embed_dim * 2 ** (self.num_layers - 1)) - self.norm = norm_layer(self.num_features) def proj_out(self, x, normalize=False): if normalize: