monai-weekly 1.5.dev2515__py3-none-any.whl → 1.5.dev2517__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
monai/__init__.py CHANGED
@@ -136,4 +136,4 @@ except BaseException:
136
136
 
137
137
  if MONAIEnvVars.debug():
138
138
  raise
139
- __commit_id__ = "f27517b81ded6f3de730861d95d10d72fb0c4a51"
139
+ __commit_id__ = "b58e883c887e0f99d382807550654c44d94f47bd"
monai/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2025-04-13T03:01:18+0000",
11
+ "date": "2025-04-27T02:33:13+0000",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "2f0c8e65507306bf5b92e1ac85642ca808d1c5e2",
15
- "version": "1.5.dev2515"
14
+ "full-revisionid": "f7de3a02b37a65a78b3cd813929aa4c20c7a5819",
15
+ "version": "1.5.dev2517"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -101,7 +101,11 @@ class SABlock(nn.Module):
101
101
 
102
102
  self.num_heads = num_heads
103
103
  self.hidden_input_size = hidden_input_size if hidden_input_size else hidden_size
104
- self.out_proj = nn.Linear(self.inner_dim, self.hidden_input_size)
104
+ self.out_proj: Union[nn.Linear, nn.Identity]
105
+ if include_fc:
106
+ self.out_proj = nn.Linear(self.inner_dim, self.hidden_input_size)
107
+ else:
108
+ self.out_proj = nn.Identity()
105
109
 
106
110
  self.qkv: Union[nn.Linear, nn.Identity]
107
111
  self.to_q: Union[nn.Linear, nn.Identity]
@@ -1847,9 +1847,9 @@ class DiffusionModelUNet(nn.Module):
1847
1847
  new_state_dict[f"{block}.attn.to_v.bias"] = old_state_dict.pop(f"{block}.to_v.bias")
1848
1848
 
1849
1849
  # projection
1850
- new_state_dict[f"{block}.attn.out_proj.weight"] = old_state_dict.pop(f"{block}.proj_attn.weight")
1851
- new_state_dict[f"{block}.attn.out_proj.bias"] = old_state_dict.pop(f"{block}.proj_attn.bias")
1852
-
1850
+ if f"{block}.attn.out_proj.weight" in new_state_dict and f"{block}.attn.out_proj.bias" in new_state_dict:
1851
+ new_state_dict[f"{block}.attn.out_proj.weight"] = old_state_dict.pop(f"{block}.proj_attn.weight")
1852
+ new_state_dict[f"{block}.attn.out_proj.bias"] = old_state_dict.pop(f"{block}.proj_attn.bias")
1853
1853
  # fix the cross attention blocks
1854
1854
  cross_attention_blocks = [
1855
1855
  k.replace(".out_proj.weight", "")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: monai-weekly
3
- Version: 1.5.dev2515
3
+ Version: 1.5.dev2517
4
4
  Summary: AI Toolkit for Healthcare Imaging
5
5
  Home-page: https://monai.io/
6
6
  Author: MONAI Consortium
@@ -1,5 +1,5 @@
1
- monai/__init__.py,sha256=cz2IbPvV5WFZb9B6iwGQYTcCSUfAkFQgg6Z7EyBu82E,4095
2
- monai/_version.py,sha256=PvcDKbDCwlMsws9Aqn0bDOjHV15xcRqSmMGahjEBO5k,503
1
+ monai/__init__.py,sha256=oAc7FNkCg0a5Ut7Byq-vqZEnbpfVNamoI80ftryF3ow,4095
2
+ monai/_version.py,sha256=enY04X9lAnhnlhFEsZ9XVESeOkU99RprIdRm8f0hrhA,503
3
3
  monai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  monai/_extensions/__init__.py,sha256=NEBPreRhQ8H9gVvgrLr_y52_TmqB96u_u4VQmeNT93I,642
5
5
  monai/_extensions/loader.py,sha256=7SiKw36q-nOzH8CRbBurFrz7GM40GCu7rc93Tm8XpnI,3643
@@ -273,7 +273,7 @@ monai/networks/blocks/pos_embed_utils.py,sha256=alvCh5x_OF2lv8fO6vvhAwkQJHV7TJT6
273
273
  monai/networks/blocks/regunet_block.py,sha256=1FLIwVBtk66II6xQ7Q4LMY8DP0rMmeftN7HuaEgnf3A,8825
274
274
  monai/networks/blocks/rel_pos_embedding.py,sha256=wuTJsk_NHSDX-3V0X9ctF99WIh2-SHLDbQxzrG7tz_4,2208
275
275
  monai/networks/blocks/segresnet_block.py,sha256=dREFa0CWuSWlSOm53fT7vZz6UC2J_7JAEaeHB9rYjAk,3339
276
- monai/networks/blocks/selfattention.py,sha256=oH4rOT_OpalGeZOTIanBWWJ88RjriQ9W629tZ6-W-iE,9553
276
+ monai/networks/blocks/selfattention.py,sha256=sXpJcU5o-SPR-wV3QNsUVfft3NCQPkzDA43T1SCRr3w,9689
277
277
  monai/networks/blocks/spade_norm.py,sha256=Kq2ImmCQBaFURMnOTj08aphgGkF3ghDm19kXpPRq91c,3654
278
278
  monai/networks/blocks/spatialattention.py,sha256=HhoOnp0YfygOZne8jZjxQezRXIwQg1kfs-Cdo0ruxhw,3442
279
279
  monai/networks/blocks/squeeze_and_excitation.py,sha256=y2kXgoSFxywu-KCGYbI_d-NCCAEbuKAIY5gSqO_T7TI,12752
@@ -306,7 +306,7 @@ monai/networks/nets/classifier.py,sha256=U94OM91_pNT74wQV-_LOxAnbLvjuJvnorMK-xcE
306
306
  monai/networks/nets/controlnet.py,sha256=x-FP4P6hYq6J8x0x25o6Ltfgn8oHO4AkUEw8cV0wUDA,18908
307
307
  monai/networks/nets/daf3d.py,sha256=mjQiaCreKR8isE1pMWfPMWP55Uq9jcELcldu2CZo5PE,23963
308
308
  monai/networks/nets/densenet.py,sha256=0LZqWU3HNfnEkNKBPwVg2GFoeIHQB5aBfP2_U54bv8g,15823
309
- monai/networks/nets/diffusion_model_unet.py,sha256=CvnJjoytxxskuiCqUKqtlQ4vFNjYUiME4Od-OJDtUlk,81528
309
+ monai/networks/nets/diffusion_model_unet.py,sha256=fDo6CzTTRUwOxvQFAjPLg4_jvcg5wst63uQ-ZPt3fX4,81653
310
310
  monai/networks/nets/dints.py,sha256=GAL2cmWOk_mhsRaIdZ3pr-mMLqncWINdJCWj26IukL0,44775
311
311
  monai/networks/nets/dynunet.py,sha256=S2DX_tby7e5iCHL7q6X6f-vT6HwP6tbb2lRq9gHVJ24,18210
312
312
  monai/networks/nets/efficientnet.py,sha256=RcEM7ZTLCp9PzE06sCJDUbStzMZpItSiZjDlbRUaz-4,40671
@@ -426,7 +426,7 @@ monai/visualize/img2tensorboard.py,sha256=n4ztSa5BQAUxSTGvi2tp45v-F7-RNgSlbsdy-9
426
426
  monai/visualize/occlusion_sensitivity.py,sha256=OQHEJLyIhB8zWqQsfKaX-1kvCjWFVYtLfS4dFC0nKFI,18160
427
427
  monai/visualize/utils.py,sha256=B-MhTVs7sQbIqYS3yPnpBwPw2K82rE2PBtGIfpwZtWM,9894
428
428
  monai/visualize/visualizer.py,sha256=qckyaMZCbezYUwE20k5yc-Pb7UozVavMDbrmyQwfYHY,1377
429
- monai_weekly-1.5.dev2515.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
429
+ monai_weekly-1.5.dev2517.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
430
430
  tests/apps/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
431
431
  tests/apps/test_auto3dseg_bundlegen.py,sha256=FpTJo9Lfe8vdhGuWeZ9y1BQmqYwTt-s8mDVtoLGAz_I,5594
432
432
  tests/apps/test_check_hash.py,sha256=MuZslW2DDCxHKEo6-PiL7hnbxGuZRRYf6HOh3ZQv1qQ,1761
@@ -703,7 +703,7 @@ tests/networks/blocks/test_regunet_block.py,sha256=vCdRn2-6nfIBRhPSh_L-i53i6D8CL
703
703
  tests/networks/blocks/test_se_block.py,sha256=zPYB-vPn0uCuTSCl7fB3XZ05V-DRuI88hZP8JXubiYI,2880
704
704
  tests/networks/blocks/test_se_blocks.py,sha256=tl-treYRU6TqtlPJPKQ5sd5ZCUmiI9LiY4TQYm1mrFI,2810
705
705
  tests/networks/blocks/test_segresnet_block.py,sha256=B1AId9BHB0IVm8yrc8oZP77IUbgRQx-OPw5Q4Pld2rM,2098
706
- tests/networks/blocks/test_selfattention.py,sha256=mlSKusq7ZFY6xuOuMxzRyAbduFodfVJy-u_FLFiSKMo,10096
706
+ tests/networks/blocks/test_selfattention.py,sha256=T5rQNh2bJawUUFJ20CiNVJycdURC4JAsN1Qu-JfeeSk,10960
707
707
  tests/networks/blocks/test_simple_aspp.py,sha256=PJDVYctTPdWZfnMrIZpI3BzaIf55Llj_e8_69SoBcf0,2809
708
708
  tests/networks/blocks/test_spatialattention.py,sha256=Jxko8yLR16O28m4ljaZUUf3HfRDDjVUZzgEkeJcAx4Q,1909
709
709
  tests/networks/blocks/test_subpixel_upsample.py,sha256=mCfrERzF76Xa31Mbd-gIiVjsftYUzt-9R6JaRg8-Eyw,3134
@@ -1189,7 +1189,7 @@ tests/visualize/test_vis_gradcam.py,sha256=WpA-pvTB75eZs7JoIc5qyvOV9PwgkzWI8-Vow
1189
1189
  tests/visualize/utils/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
1190
1190
  tests/visualize/utils/test_blend_images.py,sha256=RVs2p_8RWQDfhLHDNNtZaMig27v8o0km7XxNa-zWjKE,2274
1191
1191
  tests/visualize/utils/test_matshow3d.py,sha256=wXYj77L5Jvnp0f6DvL1rsi_-YlCxS0HJ9hiPmrbpuP8,5021
1192
- monai_weekly-1.5.dev2515.dist-info/METADATA,sha256=0PRAJeakVM2LmWoAgV6ooMkk8Z-btuFbcstMou9dQaA,12104
1193
- monai_weekly-1.5.dev2515.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
1194
- monai_weekly-1.5.dev2515.dist-info/top_level.txt,sha256=hn2Y6P9xBf2R8faMeVMHhPMvrdDKxMsIOwMDYI0yTjs,12
1195
- monai_weekly-1.5.dev2515.dist-info/RECORD,,
1192
+ monai_weekly-1.5.dev2517.dist-info/METADATA,sha256=FHPP_xvfmS24kYdbhrcP58agiRuGDApIrACnr8oiMXw,12104
1193
+ monai_weekly-1.5.dev2517.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
1194
+ monai_weekly-1.5.dev2517.dist-info/top_level.txt,sha256=hn2Y6P9xBf2R8faMeVMHhPMvrdDKxMsIOwMDYI0yTjs,12
1195
+ monai_weekly-1.5.dev2517.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (79.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -227,6 +227,27 @@ class TestResBlock(unittest.TestCase):
227
227
  out_2 = block_wo_flash_attention(test_data)
228
228
  assert_allclose(out_1, out_2, atol=1e-4)
229
229
 
230
+ @parameterized.expand([[True], [False]])
231
+ def test_no_extra_weights_if_no_fc(self, include_fc):
232
+ input_param = {
233
+ "hidden_size": 360,
234
+ "num_heads": 4,
235
+ "dropout_rate": 0.0,
236
+ "rel_pos_embedding": None,
237
+ "input_size": (16, 32),
238
+ "include_fc": include_fc,
239
+ "use_combined_linear": use_combined_linear,
240
+ }
241
+ net = SABlock(**input_param)
242
+ if not include_fc:
243
+ self.assertNotIn("out_proj.weight", net.state_dict())
244
+ self.assertNotIn("out_proj.bias", net.state_dict())
245
+ self.assertIsInstance(net.out_proj, torch.nn.Identity)
246
+ else:
247
+ self.assertIn("out_proj.weight", net.state_dict())
248
+ self.assertIn("out_proj.bias", net.state_dict())
249
+ self.assertIsInstance(net.out_proj, torch.nn.Linear)
250
+
230
251
 
231
252
  if __name__ == "__main__":
232
253
  unittest.main()