Equimo 0.4.2__tar.gz → 0.4.3__tar.gz

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 (44) hide show
  1. {equimo-0.4.2/src/Equimo.egg-info → equimo-0.4.3}/PKG-INFO +1 -1
  2. {equimo-0.4.2 → equimo-0.4.3}/pyproject.toml +1 -1
  3. {equimo-0.4.2 → equimo-0.4.3/src/Equimo.egg-info}/PKG-INFO +1 -1
  4. equimo-0.4.3/src/equimo/__init__.py +1 -0
  5. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/attention.py +12 -13
  6. equimo-0.4.2/src/equimo/__init__.py +0 -1
  7. {equimo-0.4.2 → equimo-0.4.3}/LICENSE.md +0 -0
  8. {equimo-0.4.2 → equimo-0.4.3}/README.md +0 -0
  9. {equimo-0.4.2 → equimo-0.4.3}/setup.cfg +0 -0
  10. {equimo-0.4.2 → equimo-0.4.3}/src/Equimo.egg-info/SOURCES.txt +0 -0
  11. {equimo-0.4.2 → equimo-0.4.3}/src/Equimo.egg-info/dependency_links.txt +0 -0
  12. {equimo-0.4.2 → equimo-0.4.3}/src/Equimo.egg-info/requires.txt +0 -0
  13. {equimo-0.4.2 → equimo-0.4.3}/src/Equimo.egg-info/top_level.txt +0 -0
  14. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/conversion/__init__.py +0 -0
  15. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/conversion/utils.py +0 -0
  16. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/experimental/__init__.py +0 -0
  17. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/experimental/text.py +0 -0
  18. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/io.py +0 -0
  19. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/__init__.py +0 -0
  20. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/activation.py +0 -0
  21. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/convolution.py +0 -0
  22. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/downsample.py +0 -0
  23. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/dropout.py +0 -0
  24. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/ffn.py +0 -0
  25. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/generic.py +0 -0
  26. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/mamba.py +0 -0
  27. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/norm.py +0 -0
  28. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/patch.py +0 -0
  29. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/posemb.py +0 -0
  30. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/sharing.py +0 -0
  31. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/layers/squeeze_excite.py +0 -0
  32. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/models/__init__.py +0 -0
  33. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/models/emamodel.py +0 -0
  34. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/models/fastervit.py +0 -0
  35. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/models/lowformer.py +0 -0
  36. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/models/mlla.py +0 -0
  37. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/models/partialformer.py +0 -0
  38. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/models/reduceformer.py +0 -0
  39. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/models/shvit.py +0 -0
  40. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/models/vit.py +0 -0
  41. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/models/vssd.py +0 -0
  42. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/ops/scan.py +0 -0
  43. {equimo-0.4.2 → equimo-0.4.3}/src/equimo/utils.py +0 -0
  44. {equimo-0.4.2 → equimo-0.4.3}/tests/test_models.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Equimo
3
- Version: 0.4.2
3
+ Version: 0.4.3
4
4
  Summary: Implementation of popular vision models in Jax
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "Equimo"
3
- version = "0.4.2"
3
+ version = "0.4.3"
4
4
  description = "Implementation of popular vision models in Jax"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Equimo
3
- Version: 0.4.2
3
+ Version: 0.4.3
4
4
  Summary: Implementation of popular vision models in Jax
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Intended Audience :: Developers
@@ -0,0 +1 @@
1
+ __version__ = "0.4.3"
@@ -1766,6 +1766,8 @@ class RFAttention(eqx.Module):
1766
1766
 
1767
1767
 
1768
1768
  class RFAttentionBlock(eqx.Module):
1769
+ residual: bool = eqx.field(static=True)
1770
+
1769
1771
  context_module: RFAttention
1770
1772
  local_module: MBConv
1771
1773
  drop_path1: DropPathAdd
@@ -1789,9 +1791,11 @@ class RFAttentionBlock(eqx.Module):
1789
1791
  local_drop: float = 0.0,
1790
1792
  drop_path: float | List[float] = 0.0,
1791
1793
  residual_mbconv: bool = False,
1794
+ residual: bool = True,
1792
1795
  **kwargs,
1793
1796
  ):
1794
1797
  key_context, key_local = jr.split(key, 2)
1798
+ self.residual = residual
1795
1799
 
1796
1800
  if isinstance(drop_path, list):
1797
1801
  if len(drop_path) != 2:
@@ -1841,20 +1845,15 @@ class RFAttentionBlock(eqx.Module):
1841
1845
  key_context, key_local, key_dr1, key_dr2 = jr.split(key, 4)
1842
1846
 
1843
1847
  # TODO: some prenorm?
1844
- x = self.drop_path1(
1845
- x,
1846
- self.context_module(x, inference=inference, key=key_context),
1847
- inference=inference,
1848
- key=key_dr1,
1849
- )
1850
- x = self.drop_path2(
1851
- x,
1852
- self.local_module(x, inference=inference, key=key_local),
1853
- inference=inference,
1854
- key=key_dr2,
1855
- )
1848
+ x1 = self.context_module(x, inference=inference, key=key_context)
1849
+ if self.residual:
1850
+ x1 = self.drop_path1(x, x1, inference=inference, key=key_dr1)
1856
1851
 
1857
- return x
1852
+ x2 = self.local_module(x, inference=inference, key=key_local)
1853
+ if self.residual:
1854
+ x2 = self.drop_path2(x1, x2, inference=inference, key=key_dr2)
1855
+
1856
+ return x2
1858
1857
 
1859
1858
 
1860
1859
  class ConvAttention(eqx.Module):
@@ -1 +0,0 @@
1
- __version__ = "0.4.2"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes