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
@@ -1,105 +0,0 @@
1
- """
2
- Paper "Squeeze-and-Excitation Networks", https://arxiv.org/abs/1709.01507
3
- """
4
-
5
- from typing import Any
6
- from typing import Optional
7
-
8
- from birder.model_registry import registry
9
- from birder.net.resnet_v1 import ResNet_v1
10
-
11
-
12
- # pylint: disable=invalid-name
13
- class SE_ResNet_v1(ResNet_v1):
14
- def __init__(
15
- self,
16
- input_channels: int,
17
- num_classes: int,
18
- *,
19
- config: Optional[dict[str, Any]] = None,
20
- size: Optional[tuple[int, int]] = None,
21
- ) -> None:
22
- super().__init__(input_channels, num_classes, config=config, size=size, squeeze_excitation=True)
23
-
24
-
25
- registry.register_model_config(
26
- "se_resnet_v1_18",
27
- SE_ResNet_v1,
28
- config={"bottle_neck": False, "filter_list": [64, 64, 128, 256, 512], "units": [2, 2, 2, 2]},
29
- )
30
- registry.register_model_config(
31
- "se_resnet_v1_34",
32
- SE_ResNet_v1,
33
- config={"bottle_neck": False, "filter_list": [64, 64, 128, 256, 512], "units": [3, 4, 6, 3]},
34
- )
35
- registry.register_model_config(
36
- "se_resnet_v1_50",
37
- SE_ResNet_v1,
38
- config={"bottle_neck": True, "filter_list": [64, 256, 512, 1024, 2048], "units": [3, 4, 6, 3]},
39
- )
40
- registry.register_model_config(
41
- "se_resnet_v1_101",
42
- SE_ResNet_v1,
43
- config={"bottle_neck": True, "filter_list": [64, 256, 512, 1024, 2048], "units": [3, 4, 23, 3]},
44
- )
45
- registry.register_model_config(
46
- "se_resnet_v1_152",
47
- SE_ResNet_v1,
48
- config={"bottle_neck": True, "filter_list": [64, 256, 512, 1024, 2048], "units": [3, 8, 36, 3]},
49
- )
50
- registry.register_model_config(
51
- "se_resnet_v1_200",
52
- SE_ResNet_v1,
53
- config={"bottle_neck": True, "filter_list": [64, 256, 512, 1024, 2048], "units": [3, 24, 36, 3]},
54
- )
55
- registry.register_model_config(
56
- "se_resnet_v1_269",
57
- SE_ResNet_v1,
58
- config={"bottle_neck": True, "filter_list": [64, 256, 512, 1024, 2048], "units": [3, 30, 48, 8]},
59
- )
60
-
61
- # SE-ResNet-D variants (From: Bag of Tricks for Image Classification with Convolutional Neural Networks)
62
- registry.register_model_config(
63
- "se_resnet_d_50",
64
- SE_ResNet_v1,
65
- config={
66
- "bottle_neck": True,
67
- "filter_list": [64, 256, 512, 1024, 2048],
68
- "units": [3, 4, 6, 3],
69
- "deep_stem": True,
70
- "avg_down": True,
71
- },
72
- )
73
- registry.register_model_config(
74
- "se_resnet_d_101",
75
- SE_ResNet_v1,
76
- config={
77
- "bottle_neck": True,
78
- "filter_list": [64, 256, 512, 1024, 2048],
79
- "units": [3, 4, 23, 3],
80
- "deep_stem": True,
81
- "avg_down": True,
82
- },
83
- )
84
- registry.register_model_config(
85
- "se_resnet_d_152",
86
- SE_ResNet_v1,
87
- config={
88
- "bottle_neck": True,
89
- "filter_list": [64, 256, 512, 1024, 2048],
90
- "units": [3, 8, 36, 3],
91
- "deep_stem": True,
92
- "avg_down": True,
93
- },
94
- )
95
- registry.register_model_config(
96
- "se_resnet_d_200",
97
- SE_ResNet_v1,
98
- config={
99
- "bottle_neck": True,
100
- "filter_list": [64, 256, 512, 1024, 2048],
101
- "units": [3, 24, 36, 3],
102
- "deep_stem": True,
103
- "avg_down": True,
104
- },
105
- )
@@ -1,59 +0,0 @@
1
- """
2
- Paper "Squeeze-and-Excitation Networks", https://arxiv.org/abs/1709.01507
3
- """
4
-
5
- from typing import Any
6
- from typing import Optional
7
-
8
- from birder.model_registry import registry
9
- from birder.net.resnet_v2 import ResNet_v2
10
-
11
-
12
- # pylint: disable=invalid-name
13
- class SE_ResNet_v2(ResNet_v2):
14
- def __init__(
15
- self,
16
- input_channels: int,
17
- num_classes: int,
18
- *,
19
- config: Optional[dict[str, Any]] = None,
20
- size: Optional[tuple[int, int]] = None,
21
- ) -> None:
22
- super().__init__(input_channels, num_classes, config=config, size=size, squeeze_excitation=True)
23
-
24
-
25
- registry.register_model_config(
26
- "se_resnet_v2_18",
27
- SE_ResNet_v2,
28
- config={"bottle_neck": False, "filter_list": [64, 64, 128, 256, 512], "units": [2, 2, 2, 2]},
29
- )
30
- registry.register_model_config(
31
- "se_resnet_v2_34",
32
- SE_ResNet_v2,
33
- config={"bottle_neck": False, "filter_list": [64, 64, 128, 256, 512], "units": [3, 4, 6, 3]},
34
- )
35
- registry.register_model_config(
36
- "se_resnet_v2_50",
37
- SE_ResNet_v2,
38
- config={"bottle_neck": True, "filter_list": [64, 256, 512, 1024, 2048], "units": [3, 4, 6, 3]},
39
- )
40
- registry.register_model_config(
41
- "se_resnet_v2_101",
42
- SE_ResNet_v2,
43
- config={"bottle_neck": True, "filter_list": [64, 256, 512, 1024, 2048], "units": [3, 4, 23, 3]},
44
- )
45
- registry.register_model_config(
46
- "se_resnet_v2_152",
47
- SE_ResNet_v2,
48
- config={"bottle_neck": True, "filter_list": [64, 256, 512, 1024, 2048], "units": [3, 8, 36, 3]},
49
- )
50
- registry.register_model_config(
51
- "se_resnet_v2_200",
52
- SE_ResNet_v2,
53
- config={"bottle_neck": True, "filter_list": [64, 256, 512, 1024, 2048], "units": [3, 24, 36, 3]},
54
- )
55
- registry.register_model_config(
56
- "se_resnet_v2_269",
57
- SE_ResNet_v2,
58
- config={"bottle_neck": True, "filter_list": [64, 256, 512, 1024, 2048], "units": [3, 30, 48, 8]},
59
- )
birder/net/se_resnext.py DELETED
@@ -1,30 +0,0 @@
1
- """
2
- Paper "Squeeze-and-Excitation Networks", https://arxiv.org/abs/1709.01507
3
- """
4
-
5
- from typing import Any
6
- from typing import Optional
7
-
8
- from birder.model_registry import registry
9
- from birder.net.resnext import ResNeXt
10
-
11
-
12
- # pylint: disable=invalid-name
13
- class SE_ResNeXt(ResNeXt):
14
- def __init__(
15
- self,
16
- input_channels: int,
17
- num_classes: int,
18
- *,
19
- config: Optional[dict[str, Any]] = None,
20
- size: Optional[tuple[int, int]] = None,
21
- ) -> None:
22
- super().__init__(input_channels, num_classes, config=config, size=size, squeeze_excitation=True)
23
-
24
-
25
- registry.register_model_config("se_resnext_50", SE_ResNeXt, config={"units": [3, 4, 6, 3]})
26
- registry.register_model_config("se_resnext_101", SE_ResNeXt, config={"units": [3, 4, 23, 3]})
27
- registry.register_model_config("se_resnext_152", SE_ResNeXt, config={"units": [3, 8, 36, 3]})
28
-
29
- registry.register_model_config("se_resnext_101_32x8", SE_ResNeXt, config={"units": [3, 4, 23, 3], "base_width": 8})
30
- registry.register_model_config("se_resnext_101_64x4", SE_ResNeXt, config={"units": [3, 4, 23, 3], "groups": 64})
File without changes