ncut-pytorch 3.0.0.dev2__tar.gz → 3.0.0.dev3__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 (39) hide show
  1. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/PKG-INFO +1 -1
  2. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/utils/math.py +11 -4
  3. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch.egg-info/PKG-INFO +1 -1
  4. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/pyproject.toml +1 -1
  5. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/LICENSE +0 -0
  6. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/README.md +0 -0
  7. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/__init__.py +0 -0
  8. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/color/__init__.py +0 -0
  9. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/color/coloring.py +0 -0
  10. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/color/mspace.py +0 -0
  11. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/color/mspace_nopl.py +0 -0
  12. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/ncut.py +0 -0
  13. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/ncuts/__init__.py +0 -0
  14. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/ncuts/ncut_click.py +0 -0
  15. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/ncuts/ncut_kway.py +0 -0
  16. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/ncuts/ncut_nystrom.py +0 -0
  17. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/__init__.py +0 -0
  18. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/dino/__init__.py +0 -0
  19. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/dino/api.py +0 -0
  20. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/dino/dinov3.py +0 -0
  21. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/dino/hires_dino.py +0 -0
  22. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/dino/lowres_dino.py +0 -0
  23. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/dino/patch.py +0 -0
  24. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/dino/transform.py +0 -0
  25. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/dino_predictor.py +0 -0
  26. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/jafar_predictor.py +0 -0
  27. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/predictor.py +0 -0
  28. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/predictor/vision_predictor.py +0 -0
  29. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/utils/__init__.py +0 -0
  30. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/utils/device.py +0 -0
  31. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/utils/grad.py +0 -0
  32. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/utils/sample.py +0 -0
  33. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/utils/sigma.py +0 -0
  34. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch/utils/torch_mod.py +0 -0
  35. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch.egg-info/SOURCES.txt +0 -0
  36. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch.egg-info/dependency_links.txt +0 -0
  37. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch.egg-info/requires.txt +0 -0
  38. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/ncut_pytorch.egg-info/top_level.txt +0 -0
  39. {ncut_pytorch-3.0.0.dev2 → ncut_pytorch-3.0.0.dev3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ncut_pytorch
3
- Version: 3.0.0.dev2
3
+ Version: 3.0.0.dev3
4
4
  Summary: Normalized Cut and Spectral Embedding
5
5
  Author-email: Huzheng Yang <huze.yann@gmail.com>
6
6
  License-Expression: MIT
@@ -18,14 +18,20 @@ import logging
18
18
  import numpy as np
19
19
  import torch
20
20
 
21
+
22
+ _GAMMA_DEPRECATION_WARNED = False
23
+
21
24
  from .torch_mod import svd_lowrank as my_svd_lowrank
22
25
 
23
26
 
24
27
  def check_gamma_deprecated(gamma: float | None) -> float:
28
+ global _GAMMA_DEPRECATION_WARNED
25
29
  if gamma is not None:
26
- logging.getLogger(__name__).warning("gamma is deprecated, use sigma instead")
30
+ if not _GAMMA_DEPRECATION_WARNED:
31
+ logging.getLogger(__name__).warning("gamma is deprecated, use sigma instead")
32
+ _GAMMA_DEPRECATION_WARNED = True
27
33
  sigma = np.sqrt(gamma)
28
- return sigma
34
+ return sigma
29
35
 
30
36
 
31
37
  def rbf_affinity(
@@ -92,10 +98,11 @@ def grad_safe_eig_solve(
92
98
  is_symmetric = mat.shape[0] == mat.shape[1]
93
99
  if is_symmetric:
94
100
  s, u = torch.linalg.eigh(mat)
95
- s = s.flip(dims=[0])
96
- u = u.flip(dims=[1])
97
101
  else:
98
102
  s, u = torch.linalg.eig(mat)
103
+ sort_idx = torch.argsort(s, dim=0, descending=True)
104
+ s = s[sort_idx]
105
+ u = u[:, sort_idx]
99
106
  return u.to(dtype), s.to(dtype), None
100
107
 
101
108
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ncut_pytorch
3
- Version: 3.0.0.dev2
3
+ Version: 3.0.0.dev3
4
4
  Summary: Normalized Cut and Spectral Embedding
5
5
  Author-email: Huzheng Yang <huze.yann@gmail.com>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ncut_pytorch"
7
- version = "3.0.0dev2"
7
+ version = "3.0.0dev3"
8
8
  authors = [
9
9
  { name = "Huzheng Yang", email = "huze.yann@gmail.com" },
10
10
  ]