birder 0.3.3__py3-none-any.whl → 0.4.0__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.
Files changed (92) hide show
  1. birder/common/fs_ops.py +2 -2
  2. birder/introspection/attention_rollout.py +1 -1
  3. birder/introspection/transformer_attribution.py +1 -1
  4. birder/layers/layer_scale.py +1 -1
  5. birder/net/__init__.py +2 -10
  6. birder/net/_rope_vit_configs.py +430 -0
  7. birder/net/_vit_configs.py +479 -0
  8. birder/net/biformer.py +1 -0
  9. birder/net/cait.py +5 -5
  10. birder/net/coat.py +12 -12
  11. birder/net/conv2former.py +3 -3
  12. birder/net/convmixer.py +1 -1
  13. birder/net/convnext_v1.py +1 -1
  14. birder/net/crossvit.py +5 -5
  15. birder/net/davit.py +1 -1
  16. birder/net/deit.py +12 -26
  17. birder/net/deit3.py +42 -189
  18. birder/net/densenet.py +9 -8
  19. birder/net/detection/deformable_detr.py +5 -2
  20. birder/net/detection/detr.py +5 -2
  21. birder/net/detection/efficientdet.py +1 -1
  22. birder/net/dpn.py +1 -2
  23. birder/net/edgenext.py +2 -1
  24. birder/net/edgevit.py +3 -0
  25. birder/net/efficientformer_v1.py +2 -1
  26. birder/net/efficientformer_v2.py +18 -31
  27. birder/net/efficientnet_v2.py +3 -0
  28. birder/net/efficientvit_mit.py +5 -5
  29. birder/net/fasternet.py +2 -2
  30. birder/net/flexivit.py +22 -43
  31. birder/net/groupmixformer.py +1 -1
  32. birder/net/hgnet_v1.py +5 -5
  33. birder/net/inception_next.py +1 -1
  34. birder/net/inception_resnet_v1.py +3 -3
  35. birder/net/inception_resnet_v2.py +7 -4
  36. birder/net/inception_v3.py +3 -0
  37. birder/net/inception_v4.py +3 -0
  38. birder/net/maxvit.py +1 -1
  39. birder/net/metaformer.py +3 -3
  40. birder/net/mim/crossmae.py +1 -1
  41. birder/net/mim/mae_vit.py +1 -1
  42. birder/net/mim/simmim.py +1 -1
  43. birder/net/mobilenet_v1.py +0 -9
  44. birder/net/mobilenet_v2.py +38 -44
  45. birder/net/{mobilenet_v3_large.py → mobilenet_v3.py} +37 -10
  46. birder/net/mobilevit_v1.py +5 -32
  47. birder/net/mobilevit_v2.py +1 -45
  48. birder/net/moganet.py +8 -5
  49. birder/net/mvit_v2.py +6 -6
  50. birder/net/nfnet.py +4 -0
  51. birder/net/pit.py +1 -1
  52. birder/net/pvt_v1.py +5 -5
  53. birder/net/pvt_v2.py +5 -5
  54. birder/net/repghost.py +1 -30
  55. birder/net/resmlp.py +2 -2
  56. birder/net/resnest.py +3 -0
  57. birder/net/resnet_v1.py +125 -1
  58. birder/net/resnet_v2.py +75 -1
  59. birder/net/resnext.py +35 -1
  60. birder/net/rope_deit3.py +33 -136
  61. birder/net/rope_flexivit.py +18 -18
  62. birder/net/rope_vit.py +3 -735
  63. birder/net/simple_vit.py +22 -16
  64. birder/net/smt.py +1 -1
  65. birder/net/squeezenet.py +5 -12
  66. birder/net/squeezenext.py +0 -24
  67. birder/net/ssl/capi.py +1 -1
  68. birder/net/ssl/data2vec.py +1 -1
  69. birder/net/ssl/dino_v2.py +2 -2
  70. birder/net/ssl/franca.py +2 -2
  71. birder/net/ssl/i_jepa.py +1 -1
  72. birder/net/ssl/ibot.py +1 -1
  73. birder/net/swiftformer.py +12 -2
  74. birder/net/swin_transformer_v2.py +1 -1
  75. birder/net/tiny_vit.py +3 -16
  76. birder/net/van.py +2 -2
  77. birder/net/vit.py +35 -963
  78. birder/net/vit_sam.py +13 -38
  79. birder/net/xcit.py +7 -6
  80. birder/tools/introspection.py +1 -1
  81. birder/tools/model_info.py +3 -1
  82. birder/version.py +1 -1
  83. {birder-0.3.3.dist-info → birder-0.4.0.dist-info}/METADATA +1 -1
  84. {birder-0.3.3.dist-info → birder-0.4.0.dist-info}/RECORD +88 -90
  85. birder/net/mobilenet_v3_small.py +0 -43
  86. birder/net/se_resnet_v1.py +0 -105
  87. birder/net/se_resnet_v2.py +0 -59
  88. birder/net/se_resnext.py +0 -30
  89. {birder-0.3.3.dist-info → birder-0.4.0.dist-info}/WHEEL +0 -0
  90. {birder-0.3.3.dist-info → birder-0.4.0.dist-info}/entry_points.txt +0 -0
  91. {birder-0.3.3.dist-info → birder-0.4.0.dist-info}/licenses/LICENSE +0 -0
  92. {birder-0.3.3.dist-info → birder-0.4.0.dist-info}/top_level.txt +0 -0
birder/net/vit_sam.py CHANGED
@@ -25,6 +25,10 @@ from birder.layers import LayerNorm2d
25
25
  from birder.layers import LayerScale
26
26
  from birder.layers import SwiGLU_FFN
27
27
  from birder.model_registry import registry
28
+ from birder.net._vit_configs import BASE
29
+ from birder.net._vit_configs import HUGE
30
+ from birder.net._vit_configs import LARGE
31
+ from birder.net._vit_configs import MEDIUM
28
32
  from birder.net.base import DetectorBackbone
29
33
  from birder.net.vit import EncoderBlock as MAEDecoderBlock
30
34
 
@@ -173,7 +177,7 @@ class EncoderBlock(nn.Module):
173
177
  self,
174
178
  dim: int,
175
179
  num_heads: int,
176
- mlp_ratio: float,
180
+ mlp_dim: int,
177
181
  qkv_bias: bool,
178
182
  drop_path: float,
179
183
  use_rel_pos: bool,
@@ -204,7 +208,7 @@ class EncoderBlock(nn.Module):
204
208
 
205
209
  # MLP block
206
210
  self.norm2 = norm_layer(dim, eps=1e-6)
207
- self.mlp = mlp_layer(dim, int(dim * mlp_ratio), act_layer=activation_layer, dropout=0.0)
211
+ self.mlp = mlp_layer(dim, mlp_dim, act_layer=activation_layer, dropout=0.0)
208
212
  self.drop_path2 = StochasticDepth(drop_path, mode="row")
209
213
  if layer_scale_init_value is not None:
210
214
  self.layer_scale_2 = LayerScale(dim, layer_scale_init_value)
@@ -255,7 +259,7 @@ class ViT_SAM(DetectorBackbone):
255
259
  num_layers: int = self.config["num_layers"]
256
260
  num_heads: int = self.config["num_heads"]
257
261
  hidden_dim: int = self.config["hidden_dim"]
258
- mlp_ratio: float = self.config["mlp_ratio"]
262
+ mlp_dim: int = self.config["mlp_dim"]
259
263
  layer_scale_init_value: Optional[float] = self.config.get("layer_scale_init_value", None)
260
264
  norm_layer_type: str = self.config.get("norm_layer_type", "LayerNorm")
261
265
  mlp_layer_type: str = self.config.get("mlp_layer_type", "FFN")
@@ -308,7 +312,7 @@ class ViT_SAM(DetectorBackbone):
308
312
  EncoderBlock(
309
313
  dim=hidden_dim,
310
314
  num_heads=num_heads,
311
- mlp_ratio=mlp_ratio,
315
+ mlp_dim=mlp_dim,
312
316
  qkv_bias=True,
313
317
  drop_path=dpr[i],
314
318
  use_rel_pos=use_rel_pos,
@@ -531,57 +535,31 @@ registry.register_model_config(
531
535
  ViT_SAM,
532
536
  config={
533
537
  "patch_size": 16,
534
- "num_layers": 12,
535
- "num_heads": 8,
536
- "hidden_dim": 512,
537
- "mlp_ratio": 4.0,
538
+ **MEDIUM,
538
539
  "norm_layer_type": "RMSNorm",
539
540
  "window_size": 14,
540
541
  "global_attn_indexes": [2, 5, 8, 11],
541
- "drop_path_rate": 0.0,
542
542
  },
543
543
  )
544
544
 
545
545
  registry.register_model_config(
546
546
  "vit_det_b16",
547
547
  ViT_SAM,
548
- config={
549
- "patch_size": 16,
550
- "num_layers": 12,
551
- "num_heads": 12,
552
- "hidden_dim": 768,
553
- "mlp_ratio": 4.0,
554
- "window_size": 14,
555
- "global_attn_indexes": [2, 5, 8, 11],
556
- "drop_path_rate": 0.1,
557
- },
548
+ config={"patch_size": 16, **BASE, "window_size": 14, "global_attn_indexes": [2, 5, 8, 11]},
558
549
  )
559
550
 
560
551
  # ViT SAM (with neck)
561
552
  registry.register_model_config(
562
553
  "vit_sam_b16",
563
554
  ViT_SAM,
564
- config={
565
- "patch_size": 16,
566
- "num_layers": 12,
567
- "num_heads": 12,
568
- "hidden_dim": 768,
569
- "mlp_ratio": 4.0,
570
- "window_size": 14,
571
- "global_attn_indexes": [2, 5, 8, 11],
572
- "neck_channels": 256,
573
- "drop_path_rate": 0.1,
574
- },
555
+ config={"patch_size": 16, **BASE, "window_size": 14, "global_attn_indexes": [2, 5, 8, 11], "neck_channels": 256},
575
556
  )
576
557
  registry.register_model_config(
577
558
  "vit_sam_l16",
578
559
  ViT_SAM,
579
560
  config={
580
561
  "patch_size": 16,
581
- "num_layers": 24,
582
- "num_heads": 16,
583
- "hidden_dim": 1024,
584
- "mlp_ratio": 4.0,
562
+ **LARGE,
585
563
  "window_size": 14,
586
564
  "global_attn_indexes": [5, 11, 17, 23],
587
565
  "neck_channels": 256,
@@ -593,10 +571,7 @@ registry.register_model_config(
593
571
  ViT_SAM,
594
572
  config={
595
573
  "patch_size": 16,
596
- "num_layers": 32,
597
- "num_heads": 16,
598
- "hidden_dim": 1280,
599
- "mlp_ratio": 4.0,
574
+ **HUGE,
600
575
  "window_size": 14,
601
576
  "global_attn_indexes": [7, 15, 23, 31],
602
577
  "neck_channels": 256,
birder/net/xcit.py CHANGED
@@ -6,6 +6,7 @@ https://github.com/facebookresearch/xcit/blob/main/xcit.py
6
6
 
7
7
  Changes from original:
8
8
  * No FPN layers (detection version of XCiT)
9
+ * Removed biases before norms
9
10
  """
10
11
 
11
12
  # Reference license: Apache-2.0
@@ -160,12 +161,12 @@ class ClassAttentionBlock(nn.Module):
160
161
  self, dim: int, num_heads: int, mlp_ratio: float, qkv_bias: bool, proj_drop: float, drop_path: float, eta: float
161
162
  ) -> None:
162
163
  super().__init__()
163
- self.norm1 = nn.LayerNorm(dim)
164
+ self.norm1 = nn.LayerNorm(dim, eps=1e-6)
164
165
 
165
166
  self.attn = ClassAttention(dim, num_heads=num_heads, qkv_bias=qkv_bias, proj_drop=proj_drop)
166
167
 
167
168
  self.drop_path = StochasticDepth(drop_path, mode="row")
168
- self.norm2 = nn.LayerNorm(dim)
169
+ self.norm2 = nn.LayerNorm(dim, eps=1e-6)
169
170
  self.mlp = MLP(dim, [int(dim * mlp_ratio), dim], activation_layer=nn.GELU, dropout=proj_drop)
170
171
 
171
172
  self.gamma1 = nn.Parameter(eta * torch.ones(dim))
@@ -256,14 +257,14 @@ class XCABlock(nn.Module):
256
257
  self, dim: int, num_heads: int, mlp_ratio: float, qkv_bias: bool, proj_drop: float, drop_path: float, eta: float
257
258
  ) -> None:
258
259
  super().__init__()
259
- self.norm1 = nn.LayerNorm(dim)
260
+ self.norm1 = nn.LayerNorm(dim, eps=1e-6)
260
261
  self.attn = XCA(dim, num_heads=num_heads, qkv_bias=qkv_bias, proj_drop=proj_drop)
261
262
  self.drop_path = StochasticDepth(drop_path, mode="row")
262
263
 
263
- self.norm2 = nn.LayerNorm(dim)
264
+ self.norm2 = nn.LayerNorm(dim, eps=1e-6)
264
265
  self.local_mp = LPI(in_features=dim, out_features=dim, kernel_size=(3, 3))
265
266
 
266
- self.norm3 = nn.LayerNorm(dim)
267
+ self.norm3 = nn.LayerNorm(dim, eps=1e-6)
267
268
  self.mlp = MLP(dim, [int(dim * mlp_ratio), dim], activation_layer=nn.GELU, dropout=proj_drop)
268
269
 
269
270
  self.gamma1 = nn.Parameter(eta * torch.ones(dim))
@@ -350,7 +351,7 @@ class XCiT(DetectorBackbone, PreTrainEncoder, MaskedTokenRetentionMixin):
350
351
  )
351
352
  )
352
353
 
353
- layers2.append(nn.LayerNorm(embed_dim))
354
+ layers2.append(nn.LayerNorm(embed_dim, eps=1e-6))
354
355
  self.block2 = nn.Sequential(*layers2)
355
356
  self.pos_embed = PositionalEncodingFourier(hidden_dim=32, dim=embed_dim)
356
357
 
@@ -171,7 +171,7 @@ def set_parser(subparsers: Any) -> None:
171
171
  subparser.add_argument(
172
172
  "--attn-layer-name",
173
173
  type=str,
174
- default="self_attention",
174
+ default="attn",
175
175
  help="attention layer name (attn-rollout and transformer-attribution)",
176
176
  )
177
177
  subparser.add_argument(
@@ -15,6 +15,7 @@ from birder.net.detection.base import DetectionSignatureType
15
15
 
16
16
  def get_model_info(net: torch.nn.Module) -> dict[str, float]:
17
17
  num_params = 0
18
+ num_buffers = 0
18
19
  param_size = 0
19
20
  buffer_size = 0
20
21
  for param in net.parameters():
@@ -22,9 +23,10 @@ def get_model_info(net: torch.nn.Module) -> dict[str, float]:
22
23
  param_size += param.numel() * param.element_size()
23
24
 
24
25
  for buffer in net.buffers():
26
+ num_buffers += buffer.numel()
25
27
  buffer_size += buffer.numel() * buffer.element_size()
26
28
 
27
- return {"num_params": num_params, "model_size": param_size + buffer_size}
29
+ return {"num_params": num_params, "num_buffers": num_buffers, "model_size": param_size + buffer_size}
28
30
 
29
31
 
30
32
  def set_parser(subparsers: Any) -> None:
birder/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "v0.3.3"
1
+ __version__ = "v0.4.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: birder
3
- Version: 0.3.3
3
+ Version: 0.4.0
4
4
  Summary: An open-source computer vision framework for wildlife image analysis, featuring state-of-the-art models for species classification and detection.
5
5
  Author: Ofer Hasson
6
6
  License-Expression: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  birder/__init__.py,sha256=qmAq9DNEsHDtvTTXJhp8Vzfrtc6ZR_TUjwjeyDW6VWc,869
2
2
  birder/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- birder/version.py,sha256=JJWS1PF8u8kFmdqySLsdsHJJiIZ2vo8hO-_p8VBsHZ8,23
3
+ birder/version.py,sha256=kLxKbLHqE9zRSRd9BprCw4chqpNEnbC5-xP_zBDNfqg,23
4
4
  birder/adversarial/__init__.py,sha256=PBdshTpEvO-aYZtD9kjkOF7Zor5t-P2V0wBwPhFr8_o,308
5
5
  birder/adversarial/base.py,sha256=ciqhSkexu9AqCNTfF6CUYAai6MtorJCY7Bbs0DgjXYY,3172
6
6
  birder/adversarial/deepfool.py,sha256=Om7C2OFk_uF7QcO4AO0pgjId-N0mIsU9HitpiWxk45o,6305
@@ -9,7 +9,7 @@ birder/adversarial/pgd.py,sha256=BfL2Zy4RzykTq7lbL3-A2e4OiRmoDdfqALSIwi5v1Xg,355
9
9
  birder/adversarial/simba.py,sha256=i_z1i3nBSWPzieWLywJGuNQyLeQgVZqr-jprBM6PcEU,6419
10
10
  birder/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  birder/common/cli.py,sha256=gDM_wjwAT-EvWlR2rt4iEWdI5_tmB_-Ppuw5mrpo6ps,5429
12
- birder/common/fs_ops.py,sha256=JNzsTI_sxmGBJ7R7ZFt8ZK5quYB7VS7aA6QzvjpDK5A,43417
12
+ birder/common/fs_ops.py,sha256=gabmNN3v2m15l0Pm0x5CKh26J5ZRkjx9rvJUZ4QAWqk,43424
13
13
  birder/common/lib.py,sha256=ylzxF1a4YVYUG8WFiqrGutQJgrQz-vewyRQxJo7sCH4,5911
14
14
  birder/common/masking.py,sha256=nsHfx31BLjti8_YQj_G4Ud6tW9oTWYRGfwvAqJlcBmk,14065
15
15
  birder/common/training_cli.py,sha256=aeztD_6N5D4m0LsSrTPobZN2SKTtLamSqswdX6roHfA,31013
@@ -39,12 +39,12 @@ birder/inference/data_parallel.py,sha256=jJo1mEuyNk4lxt0xbDIXnjmvbzuJyCUNKhWl6ee
39
39
  birder/inference/detection.py,sha256=B48kjRjIlgp_hqWFDQcKlnjPN75Xb0PM4LhUT9tj9oQ,10094
40
40
  birder/inference/wbf.py,sha256=H0HNVuCh--0bPAjTEkTpaF4e70t2SZIdoikUG-L6ZNY,7966
41
41
  birder/introspection/__init__.py,sha256=4vSjPcXd68icufoDj_EivoHZk4uB35ca0w3qNDWGgH0,532
42
- birder/introspection/attention_rollout.py,sha256=GtxwY-RBfrxx88iFSmZNCpqu5AqpfvOFfwSrS4CehVc,6986
42
+ birder/introspection/attention_rollout.py,sha256=o5wS2bkEfNreiIjFB18OJFmNaHjGK4qYtpTdcvn9aww,6976
43
43
  birder/introspection/base.py,sha256=QTAhp8gafp6vjYNE3h5omX9vGUIoTvdtA5QoyTM_Aak,2923
44
44
  birder/introspection/feature_pca.py,sha256=XzsWAiFq2-_XyfQRrm0JKERc51Nk2Pmp4Owh8LWKb08,3652
45
45
  birder/introspection/gradcam.py,sha256=bLr0HSBce5dD7rt1E81ekQCiTPBgtORzQIVBO-WgNYM,5095
46
46
  birder/introspection/guided_backprop.py,sha256=gLoTG3uhT4K_teJ30ZKhNti92F2-pa6eqrJi77hends,7746
47
- birder/introspection/transformer_attribution.py,sha256=LzSehCWAcYoZDqx6X8upG0DzDCcb-jKFb9FvMwbv5aA,6568
47
+ birder/introspection/transformer_attribution.py,sha256=_dv8QiqNUEdkpV-ESubk4SCyv32GWZgcAnUBiT9FPbE,6558
48
48
  birder/kernels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  birder/kernels/load_kernel.py,sha256=zmQpf1pBzroXBpizuJUQfShLAjuW9EYEvFgCkuvu1tk,4219
50
50
  birder/kernels/deformable_detr/ms_deform_attn.h,sha256=pFEnvKIbHsvuHtkVhuTsyu2HIDdeFvmS1H6CVhslqnk,1999
@@ -70,131 +70,129 @@ birder/layers/attention_pool.py,sha256=tPKGHdugG0kPrD7RHzut2xGxx1JPO_eG5YX0TnLKe
70
70
  birder/layers/ffn.py,sha256=fIpVIRX1nZW6sIsqmAh355J4c32V0Ajt5A3ieXguPhg,1849
71
71
  birder/layers/gem.py,sha256=XDCipvFLEuc3pZDJ6QQf-qPZFfdVHToSq96a4Gk7TCQ,1379
72
72
  birder/layers/layer_norm.py,sha256=9oIq4ZojTkP9ghUnyoUeIxJRvPQKME_mKbKVxoY216Q,369
73
- birder/layers/layer_scale.py,sha256=75oubfmHKGHnT-iB50GegAC7-1uykbVb9Chz7QtAhcI,937
73
+ birder/layers/layer_scale.py,sha256=r7AD76P0lW06lAqyXAfmoQ2EnRJQcs5fkUrKB3JXPFU,917
74
74
  birder/model_registry/__init__.py,sha256=0om1631iWk8VfgYbugd554f6xctyxAn6MULQMSBCdNI,214
75
75
  birder/model_registry/manifest.py,sha256=6gKayTBmnBm45fDTXTxZMmXnowS7VNaHq3fZSFqge_w,868
76
76
  birder/model_registry/model_registry.py,sha256=l5OR-RGTXNXSU3jCHJ5DR7zJLqIGsAg101-sw5LjTBM,9738
77
- birder/net/__init__.py,sha256=N2CwetCALGNKA90kTGIVGFPdACk_Ui9MBLiYoESGMIQ,7020
77
+ birder/net/__init__.py,sha256=5FszpMfrQsouz4QCpsPd9Y358ea94Qw5ZPfL7_GLMog,6714
78
+ birder/net/_rope_vit_configs.py,sha256=v71lYEQkMhXjSpGt66u8NLM2YUBgbUC50Mp5Frg0Ow0,13864
79
+ birder/net/_vit_configs.py,sha256=AN1XzT0QZ2SQA_nnzEYepA1_lCxITpIQ9X3HsQYRfHE,14889
78
80
  birder/net/alexnet.py,sha256=-8mWK3UDQMUIzhLXIn5_XWLUdouKoXDwHWcfK0meeRE,2282
79
81
  birder/net/base.py,sha256=2uqaJxy8vTpGS1xfYUtWGw6fKOQRT9yD6Y5WbdOxSyg,10555
80
- birder/net/biformer.py,sha256=5sch4nyLhjqByTcroKYFcr3MuR-9N0CoWXxdI93EzCc,18987
81
- birder/net/cait.py,sha256=On6axsyg4XS0RCKXhF1OBH11VxXB4rtrlBp0yKL4pKg,11243
82
+ birder/net/biformer.py,sha256=otz5_G39_SGSJpe0U0mjdqnoxf1RZEVPZQ51tJxzq8o,19012
83
+ birder/net/cait.py,sha256=hclhMFfh3yzrzFJzLJAoJg7bdM1M9kdU_uqQqs9Indo,11293
82
84
  birder/net/cas_vit.py,sha256=_Ba8kzg0HIDQO19eKk3p-Gr_z-XDlPLruaa4a7uEON8,12167
83
- birder/net/coat.py,sha256=-TaYIFICHUw4vhoiMfrJdgwaL1leQMGK7Addnxp3Q7I,25223
84
- birder/net/conv2former.py,sha256=63KG3bu9JgOuoJix5nlzMCRtKTAZqFZtzSI5ty66Gvo,10157
85
- birder/net/convmixer.py,sha256=b1Wwo17E7uJ42GCmNOC8jYr1Yc1WyTZPVY2NBzk41ss,3503
86
- birder/net/convnext_v1.py,sha256=v71uwoAp-9bDEw_lfGuWwbHzGPpVDa_M0hqdib7THpg,9416
85
+ birder/net/coat.py,sha256=6psSc6355n0BgTW89NzsdUDE8qgiHnSYYKrLiFquLLM,25332
86
+ birder/net/conv2former.py,sha256=2JBlsH6qy4Zj0wYyemSdXW1nBCd_nFQqiLLfOK1kJLo,10129
87
+ birder/net/convmixer.py,sha256=2y3yDj5OGZGEBVF5Mgm9GuVab9BptHJX5M-8C0a-1nc,3515
88
+ birder/net/convnext_v1.py,sha256=r-Lrr26hBVHk3KIyPdXI5tmLGIEgLyClOaXm-rtsiIk,9396
87
89
  birder/net/convnext_v2.py,sha256=ndiqr2qeFxKIvlmR5Ilb7MJgKmyaCI7Y2NJWwOwcUgw,11653
88
90
  birder/net/crossformer.py,sha256=evjVhRoPqvy1RVW5LNwxFWy3H9T_vCv1x37t1zk0COM,18214
89
- birder/net/crossvit.py,sha256=ImTzWO7X4htCenwcx9SZzXMHNhA9ibl2d7eUjuhYb2I,16733
91
+ birder/net/crossvit.py,sha256=iwH9xNDCqhHyQkvhCqwtbvswdrHYgZiEc64D1mUHcVs,16773
90
92
  birder/net/cspnet.py,sha256=OpEp8P_Flk8hCTi4kGWxLU3tfUV4tEv2b-LzQx8w9xc,15467
91
93
  birder/net/cswin_transformer.py,sha256=T3KsBQeBrx4-mJ2-BV1ZyS5cdcDysDRiwjYjE_zDRxk,15172
92
94
  birder/net/darknet.py,sha256=oYbDi_HemdOzmwhLHKSQefEQ7fJmAdcoHqD2Rs1SAN8,4354
93
- birder/net/davit.py,sha256=7g_7csE18Y-3ARY2dbbBlbPeQaYjND2MUcrJ_Gg6Dic,16087
94
- birder/net/deit.py,sha256=J4dXojJWM83IL7BdHoSxr4dwMqmlfFK-B3F3Q6g2y9A,8590
95
- birder/net/deit3.py,sha256=HmEke3WfH_4R1p6GQ2M0jtYxXwHQibfe-hFoBOdWmSE,20004
96
- birder/net/densenet.py,sha256=uT-T7Ab5aIXXJkxEKLbOROFxXuukG5McLKNJaOtpNgY,5821
97
- birder/net/dpn.py,sha256=TOwJDnUAk7njbe7_5OY76a9fzLSWCSovmRkkBtKU5yk,6685
98
- birder/net/edgenext.py,sha256=fFevFTGPq7asEI8ieJMLRD5L7tcoDyaVUvB9et6SVuk,13756
99
- birder/net/edgevit.py,sha256=rTACfyxwb-i4KVy8ScfkjHRnID463d2OKXsONkF5ppQ,13243
100
- birder/net/efficientformer_v1.py,sha256=0IteeSt_Pse7JNJzCYV3ibpRuAkgdGOTp0djIAnts_U,14256
101
- birder/net/efficientformer_v2.py,sha256=BXI_JcpZGpfnPpe4Hn4Z9nX4Ku1b4BTMp19tVb0EZmo,25532
95
+ birder/net/davit.py,sha256=lVHLZqLu1XBTOKYR05wf52w2gLF1wAIyKoeoPHaWUAg,16099
96
+ birder/net/deit.py,sha256=ul06AcYoGnYu1RL-oRqWgCg9hoxZsm7XnwqJ-2eaVw4,8464
97
+ birder/net/deit3.py,sha256=FqNvhcPjBIZeiJiLYcMYqSEwpp6Wt6j8YKrxUJZLYHE,17794
98
+ birder/net/densenet.py,sha256=9hSloWLMZiaZtrithIEiSg_EfOtOLQPHbBctVSW6pBY,5972
99
+ birder/net/dpn.py,sha256=OCIYOS30USJk-7L9geHD4kKQWS1stWXgh4atoX8KmDw,6685
100
+ birder/net/edgenext.py,sha256=JSSD84FVZc_QlNJPoSop5Yqmz2PFoIcziSqbdG4p9Lk,13805
101
+ birder/net/edgevit.py,sha256=18hI4mV3loiyXXWl32YhCvvoMIJc-ovPAPjZdqQeZAw,13293
102
+ birder/net/efficientformer_v1.py,sha256=ZYv6JK-BQeC5SWVEnpn1A2aBFf3DTHpTuzn2FHs2RQc,14293
103
+ birder/net/efficientformer_v2.py,sha256=Z4qKYyFCE4IxIVOfEgyFSrP-4lKTV8EulAUeBdP_dUo,24881
102
104
  birder/net/efficientnet_lite.py,sha256=v6vTuG7p1Jit6fFfhieigxG_006V5zwpkDgf8oSpCF0,10991
103
105
  birder/net/efficientnet_v1.py,sha256=xnmA0xJdE_1SCtHIeI3Y6Pb8qUmuVCmyWuN-bAg4LB0,12902
104
- birder/net/efficientnet_v2.py,sha256=Wr-1rfRUyNjm1DnfmTGFMHjvu3geJXRxE31Gyeqp_c8,13461
106
+ birder/net/efficientnet_v2.py,sha256=GTnWN5OVTT7HfNLAR2bSpeQ-tRb_GiMkyIFlkobOPYQ,13538
105
107
  birder/net/efficientvim.py,sha256=MjP7IN7MqGBawfUF76VMZk6YADuyivVtqH4y6e6hjkQ,16876
106
- birder/net/efficientvit_mit.py,sha256=-ygMTxDmHO3jOCqKLpY8VQkF1bO4JieWonNkigbkDw0,24289
108
+ birder/net/efficientvit_mit.py,sha256=tzga3YavGZBFIzZ_lVmwHHO0w4Fo9In5hNE0ZmIcBww,24349
107
109
  birder/net/efficientvit_msft.py,sha256=9RVEKczgCpezB7ozx8GsrukGW7WZ0l7e63rRgQbgRxM,20150
108
- birder/net/fasternet.py,sha256=FaxVIUG_9ZQp3-2K02ZKVtPs9l2DRL3QGZPJjtBZKVk,8925
110
+ birder/net/fasternet.py,sha256=Wk_rNo749Kjw6F2F2AmDFO5REC0hSMwqZXP21vfPIYc,9021
109
111
  birder/net/fastvit.py,sha256=Evx0jkBYUyVY7089OByTcTMip3D-_mORPtJduHcjkRU,38226
110
- birder/net/flexivit.py,sha256=5Vu1TuO3CZexZi7ykPLeMmOEiNDhcT7dG9gtDfHsZcM,24574
112
+ birder/net/flexivit.py,sha256=qj6ycI4OVaf7yeUTfrXXpB1uriZwk33FfUnyw5OYV8M,24223
111
113
  birder/net/focalnet.py,sha256=n2FzZ_5zTgHVCIHQRMqk8_CzwkjPYajjOu0fr-d-eFY,20336
112
114
  birder/net/gc_vit.py,sha256=9cPpLBQ0-C4uK_18nJ4bQitVyrc_jJKeTV5zTDx3xGg,23898
113
115
  birder/net/ghostnet_v1.py,sha256=ltwUNS70Ex_c210eC-zhZefG9D0p8S12sD3FKJWteUw,9059
114
116
  birder/net/ghostnet_v2.py,sha256=6alW0Jm93PF3H8SgYiaovNC9lOi_YagpHeNPPz9sXCs,11649
115
- birder/net/groupmixformer.py,sha256=qIabj0KP-HGiKRB4gXV8EH7uPO28UautlPe_l62SQCM,15198
116
- birder/net/hgnet_v1.py,sha256=jcBEdUBsg1KMvY4gD89JrgiFjo00kDmmrx8uruvJ6SA,14592
117
+ birder/net/groupmixformer.py,sha256=mpmXjQG0ZX3yZJKml8-Fp9jWHixI_OzXJvWiJaWt8jc,15210
118
+ birder/net/hgnet_v1.py,sha256=GL0bg8pue6Gp8qbhfoBfGEILicsNEg6liZFef7xwwB4,14540
117
119
  birder/net/hgnet_v2.py,sha256=DMVeJPIWA1pPw7ZE2jOZR7PMRmJeu1AwCK78TqoPDMk,10945
118
120
  birder/net/hiera.py,sha256=HSANk1crBY61iRi5C3kIq8-jkW6591LRX4I0ji5dstg,28074
119
121
  birder/net/hieradet.py,sha256=dKtXlAyDA20HB5yq95M48XdjZzQyOMcZuSELCet1zC4,20297
120
122
  birder/net/hornet.py,sha256=ZXjsWz31xL9qUfTduFEW2F6cLGRNeVTYJdZ82Lb9Vck,13913
121
123
  birder/net/iformer.py,sha256=zdlt3KLPG4Cpja8hQtK9HNnuKnxMr2ZMyKWSPu1rPwM,17933
122
- birder/net/inception_next.py,sha256=7M_dpjqVBb92O7Z1hVhVL6ciNvXcX3S-lKYtCquDSO4,11076
123
- birder/net/inception_resnet_v1.py,sha256=T7BMWvYQXqAFasEhcivbKSBLLIaEAEM_9XZemqAYSwg,10012
124
- birder/net/inception_resnet_v2.py,sha256=-iKm66tvW6dm40dWE39f8eCHnM0eipLL-ZeZhu9s0fU,11960
125
- birder/net/inception_v3.py,sha256=2Urx7EbtsxNvAZnQP3ZMxK7MKH4gnZq3u3oW_n682Mk,12103
126
- birder/net/inception_v4.py,sha256=yqZvtqOBalIuRPyf9D8kfTaNJRyGYOuNzh4HYxFJF9g,13442
124
+ birder/net/inception_next.py,sha256=SBuxblA-RsNqVOzozhWXJVYDERxcAiLGjX2EZru_96A,11056
125
+ birder/net/inception_resnet_v1.py,sha256=-g48wMa5PbDk0W654kjqXsOzR1nP276vHN3OX-Li_2o,9976
126
+ birder/net/inception_resnet_v2.py,sha256=CEHPDHSPx5qlytsFseFOXE6DRagRPsR7gd3G97bMwEU,12026
127
+ birder/net/inception_v3.py,sha256=dDPJUA5Yg2xgpHsGiW5Muyh_Tt3Vq1mludaPslh-D5w,12180
128
+ birder/net/inception_v4.py,sha256=n3G68lPN_mjBzZR5qj5NaNVFwgTfLo2WYseCWK_dPw8,13519
127
129
  birder/net/levit.py,sha256=6RG-3aL-WASO4yza6C3ciEYJC1LFWXi8vpHgCxJm5Hw,19837
128
130
  birder/net/lit_v1.py,sha256=uA99ohose8kihAxEVa4att-xdTlaOPNiDSi_EpYDP24,16450
129
131
  birder/net/lit_v1_tiny.py,sha256=z5OJ-yHfuTXGFNvSWCSYgHhegJXfG0Ix1D_bTobbz_E,11862
130
132
  birder/net/lit_v2.py,sha256=OK3mmOvD5Dmurw9Pk4V_ryJlioS-0fFsxuGR0nbcRYc,13995
131
- birder/net/maxvit.py,sha256=fBsIE7Hr1TB2HtOE8BSQ_90CEUi2W04CRI0cHqDnB70,30001
132
- birder/net/metaformer.py,sha256=qYNnDQD_GzXJIANg2VDFyNT0oJRyuWH33F-Oo-3KMwA,30476
133
+ birder/net/maxvit.py,sha256=kvA1IUXubtQ78QpeaNohNvuTQGoaVweAnBMnDzlN6fo,30001
134
+ birder/net/metaformer.py,sha256=KwjrqdRi6SbEzW9lFhlQQiK3Qwl03IR-yzVlISo63bA,30416
133
135
  birder/net/mnasnet.py,sha256=uGjkWmr57-QeKhd33S4Ko_fCMXMC2LgGg6aqTNHOQ4M,9902
134
- birder/net/mobilenet_v1.py,sha256=QhtzDYJtMfKpmBVDaczHxjO6O9iqAuzn9ZyUdXLWiqA,5594
135
- birder/net/mobilenet_v2.py,sha256=Eoq3N4ZU8DvXhXa_WwP5YtziYVylTmKIcL2F_TQ2BFg,7870
136
- birder/net/mobilenet_v3_large.py,sha256=_JFC0Ut8wq_hZkbUO1U-871agDVxu2Fhi5jR6fHHs_s,12145
137
- birder/net/mobilenet_v3_small.py,sha256=UdbKNQcO7DH7GPdrDt8pCm1cpHyOXAAiYKraEHbKw6Q,1834
136
+ birder/net/mobilenet_v1.py,sha256=gbqBkKvCadZAngvTP3psh1bN6zjmP3aQFfCkG3oB5qU,5325
137
+ birder/net/mobilenet_v2.py,sha256=cDTRkALF07OSc3xYUKqNsfrHnUqJTor0yQ_Hqtf3LJg,7698
138
+ birder/net/mobilenet_v3.py,sha256=YyWsbmMjGQ9Nwp5NkMdPB3ns3BwRTEdbHuQT3kkt5rw,13678
138
139
  birder/net/mobilenet_v4.py,sha256=DkGRe7ODBfsBriKcis66qQkS39M6V5G3IVYiSwIGLhw,24625
139
140
  birder/net/mobilenet_v4_hybrid.py,sha256=WGykN5RVEZO9hBa8ocGKHR9nRQ6ZM1mRQPi0cOoDv2s,22127
140
141
  birder/net/mobileone.py,sha256=cw6fRc3nWPZ8t1n9JDpOkyOrdFj2vF50BlvGWiQeepQ,15876
141
- birder/net/mobilevit_v1.py,sha256=cNn582WEn_sMn1e8yBB5hNuuYe-BWONdollLgZKsjq8,10254
142
- birder/net/mobilevit_v2.py,sha256=M00XrB8ldqr6UmxfhrE-S9mpsYS74RtElDwmwCfdoYY,13151
143
- birder/net/moganet.py,sha256=jeoRLmonzVhl-uSGmHN3lUjhgO9zcFrMtV2d9GNntDk,15226
144
- birder/net/mvit_v2.py,sha256=_TVTgt6Jg2FXrvuDQ5jPrHx7th5vzl3vHpZfKdizNNk,26269
142
+ birder/net/mobilevit_v1.py,sha256=yGHFUTixXq3qM-lpFmtEaewe1NxZTFtbDQBl0t-djRs,9392
143
+ birder/net/mobilevit_v2.py,sha256=333HpAk6356xyvq3LGdhm58JNZ296vQR8XuvRSmq4dM,11826
144
+ birder/net/moganet.py,sha256=0h0s-M_US7pWSobhjy4ED7BntS-bR_gD3ahNdcPYy70,15200
145
+ birder/net/mvit_v2.py,sha256=TCYdFU1GzcU9U7VYvnBW0QNlnibaZht7mcUONrCOxYo,26329
145
146
  birder/net/nextvit.py,sha256=xMjcEFSr03vy-CkbT_YknGwEvAORc-Xak1gtormnY_0,15473
146
- birder/net/nfnet.py,sha256=RRJsowT56JfKFFhSybAM4SNNqa8Sp9RNBzD8XlYa9to,11484
147
- birder/net/pit.py,sha256=x8dCRpdg8-LcV4dAuzXkSoRJ8tYR07A_rgqiRHpsQ2w,10149
148
- birder/net/pvt_v1.py,sha256=6vhJ-N1hMaYvnAgzuJFmYF6KyZFdk5HkO4KXyvO-wjA,10671
149
- birder/net/pvt_v2.py,sha256=qTDLy38y0QYgsu4WDxuF-KEhrmGT_OCA-lbgsdcOsnw,15775
147
+ birder/net/nfnet.py,sha256=3H_YQSQgOhbdiecSdMHn-EnwVhz7qOKkVlufXfcZMrM,11559
148
+ birder/net/pit.py,sha256=dmVE52gpbn3he0M0FJLbJBKlaxQRx-rDhXE5ZZhhWYg,10149
149
+ birder/net/pvt_v1.py,sha256=jlE1Ep5pv_MRJDWtK58x6Ji6X_TWF_B3VGh6NDE90P4,10721
150
+ birder/net/pvt_v2.py,sha256=5-3wWdmIGxHw0YecOMLtGEx6w0k4Hq9RdfCjswOZXTM,15825
150
151
  birder/net/rdnet.py,sha256=Q0SX_U15koNHGRVEANybQ8r5VeoYfld8W1FRoVpRWVo,13991
151
152
  birder/net/regionvit.py,sha256=O2obpAjf14kXfolmOpz42DDLPw5cnzvp6u7VcVtMYUY,20246
152
153
  birder/net/regnet.py,sha256=LsizwIHFVcDQwwQ60kffDScInAWBuNOPEksDwVNDb3w,21100
153
154
  birder/net/regnet_z.py,sha256=RUOe6q10nYzYvvc2_VU31q3XGE9gQiDPF69ONFFry_I,9507
154
- birder/net/repghost.py,sha256=-MgBUf3wG8zkyZ21h4aIZpbrkBMNmzYFT2z-Ku3p6iY,12726
155
+ birder/net/repghost.py,sha256=uoQG-W78K3cv9DzuXww1oP71cWadVAuG4LgV3UhVYw8,11768
155
156
  birder/net/repvgg.py,sha256=U1KzEPxekVhQbT-USD3tj_r4olYfDBcF1yiWRThWHY8,13102
156
157
  birder/net/repvit.py,sha256=ViRTOmLQ4ktj8NfhzsejLJ_trzzFf8Z8k8KAo3Og4fw,16155
157
- birder/net/resmlp.py,sha256=nbX86Le6NbyzIsCtOixtEdmLsZ4gSKTRga-pHABoyDk,4727
158
- birder/net/resnest.py,sha256=_pH6Zxtk4QGH_jOBkL1JjAI_LeimJPKAeSySwQIIfSM,10046
159
- birder/net/resnet_v1.py,sha256=3AbhO_aM9Gf98nh0cZBKC7WXfR7fFdCFNM3ZOY5okg4,11513
160
- birder/net/resnet_v2.py,sha256=bBCGHX9V1s63uChoZDBrIZCi9Yb-xqfUoumRq82Xlf4,7456
161
- birder/net/resnext.py,sha256=QmtuM3SCss3VkGfHLJCkjkr8QKvAbMFhaQLe6bbe9-4,8797
162
- birder/net/rope_deit3.py,sha256=nihQJqjQOrJ2k2zbo5IP6h2_OjxqheTmcf2BA9f3lPw,23064
163
- birder/net/rope_flexivit.py,sha256=3UfvBG4JXNUvLMbfd0-xa0HTzwGEej9JynlQl8IR3aQ,26597
164
- birder/net/rope_vit.py,sha256=cdY4gyhzup-fFjQmG6OtIyutuDP_nS1hGgiMoppv3S4,60313
165
- birder/net/se_resnet_v1.py,sha256=n02wZkBPoQGDJ1TpO_SzU4VE_qh-xJuaI4hotU1d0J4,2978
166
- birder/net/se_resnet_v2.py,sha256=xvkYQW0JSgs_1OmPtDBb_lD-gF8HpZpTbrrD8pzh0RI,1833
167
- birder/net/se_resnext.py,sha256=9Z1ENQ2mAQPrePwUVGPFWYzD38BC7s6uu6Zutm6M3Xw,1104
158
+ birder/net/resmlp.py,sha256=NVrTRCP4q_mWhbJOywX5f_lqNhqKvhwiloUEoBZZDGc,4687
159
+ birder/net/resnest.py,sha256=PPckGtSORxgq7GAWQYx-0ZTpjIyjMbp-4OowPa-T4lQ,10106
160
+ birder/net/resnet_v1.py,sha256=TIv8TjywneOFsYxJQhLrwCgnOTS1V-y_-pu2qjU4tu8,14546
161
+ birder/net/resnet_v2.py,sha256=0QnKggNzpIwhAdI4gLej04VjuJGNVwcW9rPrIdtbnfM,9286
162
+ birder/net/resnext.py,sha256=mdDfUe0YxiDiRn8qhvR324DaMjFmefoT-LO4Rc7HZ6k,10265
163
+ birder/net/rope_deit3.py,sha256=usLWt5itEDlCMQuxnY30wYkgJFm51kGS1TCo6cEzTns,21619
164
+ birder/net/rope_flexivit.py,sha256=utU78zkNJ_JLG71XacIxLFMMUASQqRSPd6d_labVY6k,26685
165
+ birder/net/rope_vit.py,sha256=WjaZct9l6ssXFFzqrPIPr-zOblLv_EgD0caVMmvEDHE,42320
168
166
  birder/net/sequencer2d.py,sha256=FAADQusdv_jM8ymKv6Uay_BKycsIqo_etpATLV_kXXk,7449
169
167
  birder/net/shufflenet_v1.py,sha256=K0RWAd549VYc4xWOpTJZC0kj6tpHPUoDZMRVAcWMOhU,8131
170
168
  birder/net/shufflenet_v2.py,sha256=S17AGYmKUCa7a1IAJyGUj09tt4ZP07GySlxCndR26xQ,6824
171
- birder/net/simple_vit.py,sha256=USmsWTzjeyczE8iyImBJmyRjzLyE0mMydU-YibZcEV0,9850
172
- birder/net/smt.py,sha256=1zPsrjKAqTTtOz0LXEsrwT60SHEOqyNEsE7-N2H_-v4,16200
173
- birder/net/squeezenet.py,sha256=ZtwalpHKR6EH_nDGtFcvzOJqQAyHZu8cago1zBfYkDo,3676
174
- birder/net/squeezenext.py,sha256=nyqnivzHGUFzx8gwbOoHqnNgSqJFcJFnzoQP7hScRts,6750
169
+ birder/net/simple_vit.py,sha256=TvWCbUo-YCeE6PkJnRbQtZ3d6AWKKuvaLOGSICpDt5Y,9234
170
+ birder/net/smt.py,sha256=LXV0BrUZto1bGtzqyfu7KS6jyFfYU_HzEHyOgoDCiuw,16212
171
+ birder/net/squeezenet.py,sha256=bUhtqQd9V43vKEcUJG03JkxxCX7iBS_QHFjz497MQP4,3505
172
+ birder/net/squeezenext.py,sha256=2nDG9E02UNlaquKgT-U6JgdyaRd_Hlwbesk81iIfbWc,6026
175
173
  birder/net/starnet.py,sha256=A1FMspb_RFgyOQOLEMn5JvolG1F_l3Cp0wM0N0M8-os,7492
176
- birder/net/swiftformer.py,sha256=IOeo8vXSzviR60kU-v-wyw6eNMv_n5G1EZBVYFR9Ng0,13857
174
+ birder/net/swiftformer.py,sha256=MMBNdbIIBh_mB6J97Glnh17c7q6ceAi_SG0ek-xHoI4,14003
177
175
  birder/net/swin_transformer_v1.py,sha256=NhHT3DuZo4yGDa2C5LCvuFevnvPsae83h10tZcnj_ZM,18793
178
- birder/net/swin_transformer_v2.py,sha256=MaIfJijceiOFdxIGK3K8U0iNltNVF_ACLyZ7vAi_ioI,17898
179
- birder/net/tiny_vit.py,sha256=ur4cKUn0r0Voar2yYG5m4onHKfm-BKxRR0x_Vjx0jTM,17005
176
+ birder/net/swin_transformer_v2.py,sha256=-NSGKmS5gLP_gbk7WjTvUVIDCRkGUL5_uh0y0vJGY-I,17878
177
+ birder/net/tiny_vit.py,sha256=UwBGbIbaijwCB7wEN4_66fUyfRN8KOca0EII6peHhhQ,16614
180
178
  birder/net/transnext.py,sha256=Q_OEip1EJVPQwIYowcDcz08Sbqc9MgosutBHY32Lk28,23648
181
179
  birder/net/uniformer.py,sha256=L7wZJIegnzvfxo6RmBzk0mV9IYwa037pSHY9r4ECDWY,12682
182
- birder/net/van.py,sha256=UkcJy2bC_K8c9YM1u7HXf2EXzrukmbR2PtLaAFnXzSw,10711
180
+ birder/net/van.py,sha256=IAymYsIEK3zzST4KS6iU689b29Gm8TCwLFV2BjPyM0g,10671
183
181
  birder/net/vgg.py,sha256=fiTYSWM5QkeIJ02NNRY7MRm9DRJlExVStpgEqTRV5M4,3442
184
182
  birder/net/vgg_reduced.py,sha256=1NmjS4KSMvSEU3U090gf82bvWkyYDssEglaXNauCw4A,3356
185
- birder/net/vit.py,sha256=a7qtL4z1PusZEhl2iVCiO_IcxpWsQoxnUCceaJKbhB4,60053
183
+ birder/net/vit.py,sha256=zVihdEhk6yw2cqAq7KJllkyNr0I1k0Lx0J3UqDjdI7M,38347
186
184
  birder/net/vit_parallel.py,sha256=9rpeeKE3C-GV4AfZNKJ1WSHwtPs_RKI7BHCUXyS_CHA,22765
187
- birder/net/vit_sam.py,sha256=m8QQK8eu84aYykjLl2m8V0VnbDEe0Cr7x5Tv6r09NjI,21654
185
+ birder/net/vit_sam.py,sha256=RfY2lEs9kEW-zTzV2qcidrE7MEZDLaCgUCi7BX80Su0,21177
188
186
  birder/net/vovnet_v1.py,sha256=4Wgm1mALHpTJlhcrczKPVPkzDh3RNTGTty1FLzRK1EM,7685
189
187
  birder/net/vovnet_v2.py,sha256=kX9SP-C7vVr2pEbIWcMStqJI_KQmcpssd8HXiS57zaI,9725
190
188
  birder/net/wide_resnet.py,sha256=d6yn-Fb67zCGLMhQLV09gik5Otah6nCDronm4betcPA,5972
191
189
  birder/net/xception.py,sha256=58rncfGZ2U3-aGZjBABhPenRBZl8cvttrtSc0iGMVck,6913
192
- birder/net/xcit.py,sha256=mAtl1aH1n6bsD4US2hm6yyy3cXS84yxT9oqoSWvgfFo,19557
190
+ birder/net/xcit.py,sha256=tvcTG3aYd2fDBcgXkQVeQFZ4T6P2NSXyfelz8ADrxUU,19647
193
191
  birder/net/detection/__init__.py,sha256=0EBD5LOVpnmbklrjkbP8mlZkKMlq4t9Uea-KKD9UwSc,959
194
192
  birder/net/detection/base.py,sha256=RLHhwUEQuKfIFdEZv1GI3DRnkaBkf6NcdKsHlHjiFpY,26220
195
- birder/net/detection/deformable_detr.py,sha256=Z0YHg9rkE0LHAU_Qio8YntFNmPVSbHCAAHi5RufP5II,34752
196
- birder/net/detection/detr.py,sha256=aQ3u1DPayBCYDZoSGo2TuFSljOInm95IUg-Guomh6tM,20488
197
- birder/net/detection/efficientdet.py,sha256=9572Y73aO9u9JUrcA466aDg7cocNmfDMwFyJFARexWg,29432
193
+ birder/net/detection/deformable_detr.py,sha256=uw0uuEhwhlvwpIGO1XM4ApuaNzReZ1MVK_XJccXQWeA,34952
194
+ birder/net/detection/detr.py,sha256=O1xJa0uNjbJy2YoJlWcwebXBSSy6zaBU3--_4xPnetU,20688
195
+ birder/net/detection/efficientdet.py,sha256=Huad_DSSjO6iY2S79TtPZpIhB9DDeu9CLKBrvKwk3gQ,29412
198
196
  birder/net/detection/faster_rcnn.py,sha256=6Wz3EiWdObei6BprBGptdJvXKWkHOMKF-zTJJ8rGf4M,34381
199
197
  birder/net/detection/fcos.py,sha256=9Y9uroFbPf2tblF_y4cS6Q6C1dLJ1s8UM7L9oXmZCqQ,21883
200
198
  birder/net/detection/retinanet.py,sha256=OfGc7FfTZ9x9EMz1W_aATIb6POH2bbXUpCynzyXbmhI,19084
@@ -209,23 +207,23 @@ birder/net/detection/yolo_v4.py,sha256=OeGLi5JVPLbwQxK7XaZvclCL6FCBhGOOIFPXJ63CS
209
207
  birder/net/detection/yolo_v4_tiny.py,sha256=_Yc9FaHfj28IUjrO5uSJ9ozyDk4Ep_YgizcRgfeQSjk,4644
210
208
  birder/net/mim/__init__.py,sha256=W5Gj5KYTk8IYs2DqWiEcvtK2NYcgja_nSZnkbSs3gDc,305
211
209
  birder/net/mim/base.py,sha256=6JdF_Fn95Lr66NhSnyuDpuyLaFItz7IS1GAkxQoHWaM,2252
212
- birder/net/mim/crossmae.py,sha256=FUD3pwFFSGnUw6-feq6J10bgkKZ-nyp_McuN4B4sqQY,8430
210
+ birder/net/mim/crossmae.py,sha256=eB3Hl4OR93s3FbMcdl9rMQYzp9F_zFbCZRylM0djyRc,8406
213
211
  birder/net/mim/fcmae.py,sha256=HtwI3va7QrnZgkelp4VNY-YKYvMFA_im_OAAqyRS-lU,5292
214
212
  birder/net/mim/mae_hiera.py,sha256=iZwPgHqPqRGrAmbA1C7nkXMMWGUtUpCmFTx1XRvkfik,9323
215
- birder/net/mim/mae_vit.py,sha256=iJ6Aj4RxiBuOaH5DuOiayS1NPbZ84fcEnj0qiguOISw,7781
216
- birder/net/mim/simmim.py,sha256=BXNYErEWBb7ZYSigOoAyx1HTXsJ_Hwms5GCIgFZTz5U,5230
213
+ birder/net/mim/mae_vit.py,sha256=gKp7-iYvknHHGubv5t5jdvG3tUqapxaHtwbE5nKOuq4,7757
214
+ birder/net/mim/simmim.py,sha256=dC0O5R3uWFEcJ8bHwn9VUDRBQqXkuJTNnyWuCo42EMs,5210
217
215
  birder/net/ssl/__init__.py,sha256=mOBGe9XD4Epy01vQzsqSYRse9b84NFYpcOLVY3SCdFY,896
218
216
  birder/net/ssl/barlow_twins.py,sha256=5rips81jo75F4ydQsTU-7YJsCi3zJCKtcCgQc7AKeVM,2442
219
217
  birder/net/ssl/base.py,sha256=6nHGpIbCB7bL-6E3zxsmTacac0hEnYSKfOwlwCjqNMQ,2037
220
218
  birder/net/ssl/byol.py,sha256=HlVf26Lo4QCx1x-6JKUVj-KsIf2QAlXMibgCkOYTO9c,3125
221
- birder/net/ssl/capi.py,sha256=eb6eKN0OqenwrQep2gzDJotEtVlrfGGeSj6BfbVnA1g,15368
222
- birder/net/ssl/data2vec.py,sha256=wWxn-LCZZIMX1lZfWNuMWYnTEcjSBu9qZa3vQP7i6v8,3192
219
+ birder/net/ssl/capi.py,sha256=_k0kOxBIXj_mHgmraFAd9lpnXTWMwX8_xADOZwnACUI,15344
220
+ birder/net/ssl/data2vec.py,sha256=gM2GC-kQOsZf298cDKdugyrsPmWaylPpByI4UCkgFmk,3172
223
221
  birder/net/ssl/data2vec2.py,sha256=rRM3SEsBTVgOWECtNmyjtCv_g8ASQizaaHDi6_VO1PM,6557
224
222
  birder/net/ssl/dino_v1.py,sha256=zcdf35U1qt9j7zQCpg_rlA85pH3GuC6p-R6g1_G9wvQ,6548
225
- birder/net/ssl/dino_v2.py,sha256=qeA5OKEkWALPkZBil9ASi4zYhsn0L3PsIZAs9ZvAV60,22192
226
- birder/net/ssl/franca.py,sha256=ILcG2nqdVjfrbWSohNkC4Rhk6EOuRN3pY2zMK5ed1pM,21077
227
- birder/net/ssl/i_jepa.py,sha256=Rz7RT0D8SFLRSDRE3JBialTN-r7a8qY0UmLKjwoHPtM,9949
228
- birder/net/ssl/ibot.py,sha256=LlXmByilaRZfhGPq64YC2jvUcf_WyJ4qrYOzuq3D99M,10847
223
+ birder/net/ssl/dino_v2.py,sha256=Gv-JkkHzaD5NCevldahWz8dDjFB4b6dypqpw2ZApCNE,22152
224
+ birder/net/ssl/franca.py,sha256=k6gksZhiy1VFpf3oxR6t0yyCcxsrKrEQ3Z7gIkL3EEQ,21037
225
+ birder/net/ssl/i_jepa.py,sha256=xKBNkeXlUytDrkmNGMKNAxnM1_QLlmPAGyOs7riTPwQ,9925
226
+ birder/net/ssl/ibot.py,sha256=t46FeNUbMtQPpnos_nKLOfPg4wAQTZ2N3vqKizC17Tk,10827
229
227
  birder/net/ssl/mmcr.py,sha256=poKtAZ97HYY303_vp04Irt7VF9IIbxKSJcElWMGO-L0,4482
230
228
  birder/net/ssl/simclr.py,sha256=JUkknI-0rxLu2azD2PMt3hB0hh3GK43FL_4KmTUzVIM,3372
231
229
  birder/net/ssl/sscd.py,sha256=2zGU8_P8j8FIp9vRPpKntTnmwF4oGpOOIViDhFw5G6I,2058
@@ -277,10 +275,10 @@ birder/tools/convert_model.py,sha256=QwVb_UaD0ww3IE9jQaMLXBdCWsp352O1WkjBznV1TKs
277
275
  birder/tools/det_results.py,sha256=GumkMn0w559bidH5pbDVhEpgOgACwjbNwqsByPalOX0,10319
278
276
  birder/tools/download_model.py,sha256=h1QTFXDmJpVE1W0lJEUp_6_VXfSTUd6ZpA00hwu7VMI,2492
279
277
  birder/tools/ensemble_model.py,sha256=3Yhozl8lOodt3_TCvtP9oVNBUZWIsR6b1itrfZVQcAY,3969
280
- birder/tools/introspection.py,sha256=eBauRlf-6IISBjqCRugi9kzHVhxB7t79t0L9TQEOpQY,8540
278
+ birder/tools/introspection.py,sha256=tUOGk-UwzA5BVEmEzt0LI0eyKLPDF-qGO-NTQrNWSdU,8530
281
279
  birder/tools/labelme_to_coco.py,sha256=ithXRrJx7JXeWGreF2JKTJzqvcKiBYmsfJVToZo-4-c,5269
282
280
  birder/tools/list_models.py,sha256=XTq_W0jjYtoE0I1DiO8cYbK7l793AZx5EAtCPIXG8ys,6211
283
- birder/tools/model_info.py,sha256=EcZns6TVehdMWD23cS7QXgNl-bgFcpgt1pLDLjqbrBs,5119
281
+ birder/tools/model_info.py,sha256=qXNADmg8eH52HdvHjf7LaJ6D0Zf-56V4JymTM7lYOjA,5205
284
282
  birder/tools/pack.py,sha256=66JXGNop97lrfSQxQ9jfQ7xsyJWn2WLNMtzvj-xjh40,17595
285
283
  birder/tools/quantize_model.py,sha256=I_2z3A7wVOvFLcKvkBzzXQ3NCwvStkfRAUChuLeDPds,6460
286
284
  birder/tools/results.py,sha256=WrOBcJAGvlcYBh2FKkJw2qFkb82Or6RZaZ5avN0uJtE,15638
@@ -291,9 +289,9 @@ birder/tools/stats.py,sha256=L_NDtLT0PAHs5oRXbcYcoyJJAoMzjv3uJ-EG5O-PBtg,8397
291
289
  birder/tools/verify_coco.py,sha256=lMCc9X-P-odMEN6GkNpV_TDY7grze11RkPMs-Z_Uy-4,3717
292
290
  birder/tools/verify_directory.py,sha256=KbA97CX2HrwdL97HoKmSO8o3vFdP19TT7zHkulMp8L4,3284
293
291
  birder/tools/voc_to_coco.py,sha256=2ynMHV_26q-He7SWywefOmB4U03ygLU2iniTTtkdP0Y,5251
294
- birder-0.3.3.dist-info/licenses/LICENSE,sha256=tQ5GIY23TCjwH64fidwWBp8JdK2QbPVl1UePNd-5m5U,11341
295
- birder-0.3.3.dist-info/METADATA,sha256=Ry0braqWBH9SvdZdLX8x2osT3Zo06ldsm652kmGz1Ko,12697
296
- birder-0.3.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
297
- birder-0.3.3.dist-info/entry_points.txt,sha256=nikWKO1k2GISDo1hsv2T-37NCwD4dtb3PXRwPkOZ86w,128
298
- birder-0.3.3.dist-info/top_level.txt,sha256=ZRzmYwYDWwwOKFYgW4k0vUysaazrAJDLnpIjVH6cwtY,7
299
- birder-0.3.3.dist-info/RECORD,,
292
+ birder-0.4.0.dist-info/licenses/LICENSE,sha256=tQ5GIY23TCjwH64fidwWBp8JdK2QbPVl1UePNd-5m5U,11341
293
+ birder-0.4.0.dist-info/METADATA,sha256=NV1Q9bL7JXCl90wQNWoqe0Z_J11884FkDzTYeqsNgKY,12697
294
+ birder-0.4.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
295
+ birder-0.4.0.dist-info/entry_points.txt,sha256=nikWKO1k2GISDo1hsv2T-37NCwD4dtb3PXRwPkOZ86w,128
296
+ birder-0.4.0.dist-info/top_level.txt,sha256=ZRzmYwYDWwwOKFYgW4k0vUysaazrAJDLnpIjVH6cwtY,7
297
+ birder-0.4.0.dist-info/RECORD,,
@@ -1,43 +0,0 @@
1
- from typing import Any
2
- from typing import Optional
3
-
4
- from birder.model_registry import registry
5
- from birder.net.mobilenet_v3_large import MobileNet_v3_Large
6
-
7
-
8
- # pylint: disable=invalid-name
9
- class MobileNet_v3_Small(MobileNet_v3_Large):
10
- def __init__(
11
- self,
12
- input_channels: int,
13
- num_classes: int,
14
- *,
15
- config: Optional[dict[str, Any]] = None,
16
- size: Optional[tuple[int, int]] = None,
17
- ) -> None:
18
- super().__init__(input_channels, num_classes, config=config, size=size, large=False)
19
-
20
-
21
- registry.register_model_config("mobilenet_v3_small_0_25", MobileNet_v3_Small, config={"alpha": 0.25})
22
- registry.register_model_config("mobilenet_v3_small_0_5", MobileNet_v3_Small, config={"alpha": 0.5})
23
- registry.register_model_config("mobilenet_v3_small_0_75", MobileNet_v3_Small, config={"alpha": 0.75})
24
- registry.register_model_config("mobilenet_v3_small_1_0", MobileNet_v3_Small, config={"alpha": 1.0})
25
- registry.register_model_config("mobilenet_v3_small_1_25", MobileNet_v3_Small, config={"alpha": 1.25})
26
- registry.register_model_config("mobilenet_v3_small_1_5", MobileNet_v3_Small, config={"alpha": 1.5})
27
- registry.register_model_config("mobilenet_v3_small_1_75", MobileNet_v3_Small, config={"alpha": 1.75})
28
- registry.register_model_config("mobilenet_v3_small_2_0", MobileNet_v3_Small, config={"alpha": 2.0})
29
-
30
- registry.register_weights(
31
- "mobilenet_v3_small_1_0_il-common",
32
- {
33
- "description": "MobileNet v3 small (1.0 multiplier) model trained on the il-common dataset",
34
- "resolution": (256, 256),
35
- "formats": {
36
- "pt": {
37
- "file_size": 7.4,
38
- "sha256": "ac53227f7513fd0c0b5204ee57403de2ab6c74c4e4d1061b9168596c6b5cea48",
39
- }
40
- },
41
- "net": {"network": "mobilenet_v3_small_1_0", "tag": "il-common"},
42
- },
43
- )