nystrom-ncut 0.0.8__py3-none-any.whl → 0.0.9__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.
- nystrom_ncut/common.py +37 -0
 - nystrom_ncut/nystrom.py +3 -1
 - nystrom_ncut/propagation_utils.py +0 -38
 - nystrom_ncut/visualize_utils.py +55 -46
 - {nystrom_ncut-0.0.8.dist-info → nystrom_ncut-0.0.9.dist-info}/METADATA +1 -1
 - nystrom_ncut-0.0.9.dist-info/RECORD +11 -0
 - nystrom_ncut-0.0.8.dist-info/RECORD +0 -11
 - {nystrom_ncut-0.0.8.dist-info → nystrom_ncut-0.0.9.dist-info}/LICENSE +0 -0
 - {nystrom_ncut-0.0.8.dist-info → nystrom_ncut-0.0.9.dist-info}/WHEEL +0 -0
 - {nystrom_ncut-0.0.8.dist-info → nystrom_ncut-0.0.9.dist-info}/top_level.txt +0 -0
 
    
        nystrom_ncut/common.py
    CHANGED
    
    | 
         @@ -22,3 +22,40 @@ def lazy_normalize(x: torch.Tensor, n: int = 1000, **normalize_kwargs: Any) -> t 
     | 
|
| 
       22 
22 
     | 
    
         
             
                    return x
         
     | 
| 
       23 
23 
     | 
    
         
             
                else:
         
     | 
| 
       24 
24 
     | 
    
         
             
                    return Fn.normalize(x, **normalize_kwargs)
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            def quantile_min_max(x, q1=0.01, q2=0.99, n_sample=10000):
         
     | 
| 
      
 28 
     | 
    
         
            +
                if x.shape[0] > n_sample:
         
     | 
| 
      
 29 
     | 
    
         
            +
                    np.random.seed(0)
         
     | 
| 
      
 30 
     | 
    
         
            +
                    random_idx = np.random.choice(x.shape[0], n_sample, replace=False)
         
     | 
| 
      
 31 
     | 
    
         
            +
                    vmin, vmax = x[random_idx].quantile(q1), x[random_idx].quantile(q2)
         
     | 
| 
      
 32 
     | 
    
         
            +
                else:
         
     | 
| 
      
 33 
     | 
    
         
            +
                    vmin, vmax = x.quantile(q1), x.quantile(q2)
         
     | 
| 
      
 34 
     | 
    
         
            +
                return vmin, vmax
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            def quantile_normalize(x, q=0.95):
         
     | 
| 
      
 38 
     | 
    
         
            +
                """normalize each dimension of x to [0, 1], take 95-th percentage, this robust to outliers
         
     | 
| 
      
 39 
     | 
    
         
            +
                    </br> 1. sort x
         
     | 
| 
      
 40 
     | 
    
         
            +
                    </br> 2. take q-th quantile
         
     | 
| 
      
 41 
     | 
    
         
            +
                    </br>     min_value -> (1-q)-th quantile
         
     | 
| 
      
 42 
     | 
    
         
            +
                    </br>     max_value -> q-th quantile
         
     | 
| 
      
 43 
     | 
    
         
            +
                    </br> 3. normalize
         
     | 
| 
      
 44 
     | 
    
         
            +
                    </br> x = (x - min_value) / (max_value - min_value)
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                Args:
         
     | 
| 
      
 47 
     | 
    
         
            +
                    x (torch.Tensor): input tensor, shape (n_samples, n_features)
         
     | 
| 
      
 48 
     | 
    
         
            +
                        normalize each feature to 0-1 range
         
     | 
| 
      
 49 
     | 
    
         
            +
                    q (float): quantile, default 0.95
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                Returns:
         
     | 
| 
      
 52 
     | 
    
         
            +
                    torch.Tensor: quantile normalized tensor
         
     | 
| 
      
 53 
     | 
    
         
            +
                """
         
     | 
| 
      
 54 
     | 
    
         
            +
                # normalize x to 0-1 range, max value is q-th quantile
         
     | 
| 
      
 55 
     | 
    
         
            +
                # quantile makes the normalization robust to outliers
         
     | 
| 
      
 56 
     | 
    
         
            +
                if isinstance(x, np.ndarray):
         
     | 
| 
      
 57 
     | 
    
         
            +
                    x = torch.tensor(x)
         
     | 
| 
      
 58 
     | 
    
         
            +
                vmax, vmin = quantile_min_max(x, q, 1 - q)
         
     | 
| 
      
 59 
     | 
    
         
            +
                x = (x - vmin) / (vmax - vmin)
         
     | 
| 
      
 60 
     | 
    
         
            +
                x = x.clamp(0, 1)
         
     | 
| 
      
 61 
     | 
    
         
            +
                return x
         
     | 
    
        nystrom_ncut/nystrom.py
    CHANGED
    
    
| 
         @@ -1,5 +1,4 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            import logging
         
     | 
| 
       2 
     | 
    
         
            -
            from typing import Literal
         
     | 
| 
       3 
2 
     | 
    
         | 
| 
       4 
3 
     | 
    
         
             
            import numpy as np
         
     | 
| 
       5 
4 
     | 
    
         
             
            import torch
         
     | 
| 
         @@ -256,40 +255,3 @@ def extrapolate_knn_with_subsampling( 
     | 
|
| 
       256 
255 
     | 
    
         
             
                    device=device
         
     | 
| 
       257 
256 
     | 
    
         
             
                )
         
     | 
| 
       258 
257 
     | 
    
         
             
                return new_eigenvectors
         
     | 
| 
       259 
     | 
    
         
            -
             
     | 
| 
       260 
     | 
    
         
            -
             
     | 
| 
       261 
     | 
    
         
            -
            def quantile_min_max(x, q1=0.01, q2=0.99, n_sample=10000):
         
     | 
| 
       262 
     | 
    
         
            -
                if x.shape[0] > n_sample:
         
     | 
| 
       263 
     | 
    
         
            -
                    np.random.seed(0)
         
     | 
| 
       264 
     | 
    
         
            -
                    random_idx = np.random.choice(x.shape[0], n_sample, replace=False)
         
     | 
| 
       265 
     | 
    
         
            -
                    vmin, vmax = x[random_idx].quantile(q1), x[random_idx].quantile(q2)
         
     | 
| 
       266 
     | 
    
         
            -
                else:
         
     | 
| 
       267 
     | 
    
         
            -
                    vmin, vmax = x.quantile(q1), x.quantile(q2)
         
     | 
| 
       268 
     | 
    
         
            -
                return vmin, vmax
         
     | 
| 
       269 
     | 
    
         
            -
             
     | 
| 
       270 
     | 
    
         
            -
             
     | 
| 
       271 
     | 
    
         
            -
            def quantile_normalize(x, q=0.95):
         
     | 
| 
       272 
     | 
    
         
            -
                """normalize each dimension of x to [0, 1], take 95-th percentage, this robust to outliers
         
     | 
| 
       273 
     | 
    
         
            -
                    </br> 1. sort x
         
     | 
| 
       274 
     | 
    
         
            -
                    </br> 2. take q-th quantile
         
     | 
| 
       275 
     | 
    
         
            -
                    </br>     min_value -> (1-q)-th quantile
         
     | 
| 
       276 
     | 
    
         
            -
                    </br>     max_value -> q-th quantile
         
     | 
| 
       277 
     | 
    
         
            -
                    </br> 3. normalize
         
     | 
| 
       278 
     | 
    
         
            -
                    </br> x = (x - min_value) / (max_value - min_value)
         
     | 
| 
       279 
     | 
    
         
            -
             
     | 
| 
       280 
     | 
    
         
            -
                Args:
         
     | 
| 
       281 
     | 
    
         
            -
                    x (torch.Tensor): input tensor, shape (n_samples, n_features)
         
     | 
| 
       282 
     | 
    
         
            -
                        normalize each feature to 0-1 range
         
     | 
| 
       283 
     | 
    
         
            -
                    q (float): quantile, default 0.95
         
     | 
| 
       284 
     | 
    
         
            -
             
     | 
| 
       285 
     | 
    
         
            -
                Returns:
         
     | 
| 
       286 
     | 
    
         
            -
                    torch.Tensor: quantile normalized tensor
         
     | 
| 
       287 
     | 
    
         
            -
                """
         
     | 
| 
       288 
     | 
    
         
            -
                # normalize x to 0-1 range, max value is q-th quantile
         
     | 
| 
       289 
     | 
    
         
            -
                # quantile makes the normalization robust to outliers
         
     | 
| 
       290 
     | 
    
         
            -
                if isinstance(x, np.ndarray):
         
     | 
| 
       291 
     | 
    
         
            -
                    x = torch.tensor(x)
         
     | 
| 
       292 
     | 
    
         
            -
                vmax, vmin = quantile_min_max(x, q, 1 - q)
         
     | 
| 
       293 
     | 
    
         
            -
                x = (x - vmin) / (vmax - vmin)
         
     | 
| 
       294 
     | 
    
         
            -
                x = x.clamp(0, 1)
         
     | 
| 
       295 
     | 
    
         
            -
                return x
         
     | 
    
        nystrom_ncut/visualize_utils.py
    CHANGED
    
    | 
         @@ -7,15 +7,13 @@ import torch.nn.functional as F 
     | 
|
| 
       7 
7 
     | 
    
         
             
            from sklearn.base import BaseEstimator
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            from .common import (
         
     | 
| 
       10 
     | 
    
         
            -
                DistanceOptions,
         
     | 
| 
       11 
10 
     | 
    
         
             
                lazy_normalize,
         
     | 
| 
      
 11 
     | 
    
         
            +
                quantile_min_max,
         
     | 
| 
      
 12 
     | 
    
         
            +
                quantile_normalize,
         
     | 
| 
       12 
13 
     | 
    
         
             
            )
         
     | 
| 
       13 
14 
     | 
    
         
             
            from .propagation_utils import (
         
     | 
| 
       14 
15 
     | 
    
         
             
                run_subgraph_sampling,
         
     | 
| 
       15 
16 
     | 
    
         
             
                extrapolate_knn,
         
     | 
| 
       16 
     | 
    
         
            -
                extrapolate_knn_with_subsampling,
         
     | 
| 
       17 
     | 
    
         
            -
                quantile_min_max,
         
     | 
| 
       18 
     | 
    
         
            -
                quantile_normalize
         
     | 
| 
       19 
17 
     | 
    
         
             
            )
         
     | 
| 
       20 
18 
     | 
    
         | 
| 
       21 
19 
     | 
    
         | 
| 
         @@ -28,22 +26,22 @@ def _rgb_with_dimensionality_reduction( 
     | 
|
| 
       28 
26 
     | 
    
         
             
                num_sample: int,
         
     | 
| 
       29 
27 
     | 
    
         
             
                metric: Literal["cosine", "euclidean"],
         
     | 
| 
       30 
28 
     | 
    
         
             
                rgb_func: Callable[[torch.Tensor, float], torch.Tensor],
         
     | 
| 
       31 
     | 
    
         
            -
                q: float, 
     | 
| 
       32 
     | 
    
         
            -
                 
     | 
| 
      
 29 
     | 
    
         
            +
                q: float,
         
     | 
| 
      
 30 
     | 
    
         
            +
                knn: int,
         
     | 
| 
       33 
31 
     | 
    
         
             
                reduction: Callable[..., BaseEstimator],
         
     | 
| 
       34 
32 
     | 
    
         
             
                reduction_dim: int,
         
     | 
| 
       35 
33 
     | 
    
         
             
                reduction_kwargs: Dict[str, Any],
         
     | 
| 
       36 
     | 
    
         
            -
                transform_func: Callable[[torch.Tensor], torch.Tensor] 
     | 
| 
       37 
     | 
    
         
            -
                 
     | 
| 
      
 34 
     | 
    
         
            +
                transform_func: Callable[[torch.Tensor], torch.Tensor],
         
     | 
| 
      
 35 
     | 
    
         
            +
                seed: int,
         
     | 
| 
      
 36 
     | 
    
         
            +
                device: str,
         
     | 
| 
       38 
37 
     | 
    
         
             
            ) -> Tuple[torch.Tensor, torch.Tensor]:
         
     | 
| 
       39 
38 
     | 
    
         | 
| 
       40 
     | 
    
         
            -
                 
     | 
| 
       41 
     | 
    
         
            -
                    features 
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
                    )
         
     | 
| 
      
 39 
     | 
    
         
            +
                features = extrapolate_knn(
         
     | 
| 
      
 40 
     | 
    
         
            +
                    features,
         
     | 
| 
      
 41 
     | 
    
         
            +
                    features,
         
     | 
| 
      
 42 
     | 
    
         
            +
                    features,
         
     | 
| 
      
 43 
     | 
    
         
            +
                    distance="cosine",
         
     | 
| 
      
 44 
     | 
    
         
            +
                )
         
     | 
| 
       47 
45 
     | 
    
         | 
| 
       48 
46 
     | 
    
         
             
                subgraph_indices = run_subgraph_sampling(
         
     | 
| 
       49 
47 
     | 
    
         
             
                    features,
         
     | 
| 
         @@ -78,10 +76,10 @@ def rgb_from_tsne_2d( 
     | 
|
| 
       78 
76 
     | 
    
         
             
                num_sample: int = 1000,
         
     | 
| 
       79 
77 
     | 
    
         
             
                perplexity: int = 150,
         
     | 
| 
       80 
78 
     | 
    
         
             
                metric: Literal["cosine", "euclidean"] = "cosine",
         
     | 
| 
       81 
     | 
    
         
            -
                device: str = None,
         
     | 
| 
       82 
     | 
    
         
            -
                seed: int = 0,
         
     | 
| 
       83 
79 
     | 
    
         
             
                q: float = 0.95,
         
     | 
| 
       84 
80 
     | 
    
         
             
                knn: int = 10,
         
     | 
| 
      
 81 
     | 
    
         
            +
                seed: int = 0,
         
     | 
| 
      
 82 
     | 
    
         
            +
                device: str = None,
         
     | 
| 
       85 
83 
     | 
    
         
             
            ):
         
     | 
| 
       86 
84 
     | 
    
         
             
                """
         
     | 
| 
       87 
85 
     | 
    
         
             
                Returns:
         
     | 
| 
         @@ -106,11 +104,13 @@ def rgb_from_tsne_2d( 
     | 
|
| 
       106 
104 
     | 
    
         
             
                    num_sample=num_sample,
         
     | 
| 
       107 
105 
     | 
    
         
             
                    metric=metric,
         
     | 
| 
       108 
106 
     | 
    
         
             
                    rgb_func=rgb_from_2d_colormap,
         
     | 
| 
       109 
     | 
    
         
            -
                    q=q, 
     | 
| 
       110 
     | 
    
         
            -
                     
     | 
| 
      
 107 
     | 
    
         
            +
                    q=q,
         
     | 
| 
      
 108 
     | 
    
         
            +
                    knn=knn,
         
     | 
| 
       111 
109 
     | 
    
         
             
                    reduction=TSNE, reduction_dim=2, reduction_kwargs={
         
     | 
| 
       112 
110 
     | 
    
         
             
                        "perplexity": perplexity,
         
     | 
| 
       113 
     | 
    
         
            -
                    },
         
     | 
| 
      
 111 
     | 
    
         
            +
                    }, transform_func=_identity,
         
     | 
| 
      
 112 
     | 
    
         
            +
                    seed=seed,
         
     | 
| 
      
 113 
     | 
    
         
            +
                    device=device,
         
     | 
| 
       114 
114 
     | 
    
         
             
                )
         
     | 
| 
       115 
115 
     | 
    
         
             
                return x2d, rgb
         
     | 
| 
       116 
116 
     | 
    
         | 
| 
         @@ -120,10 +120,10 @@ def rgb_from_tsne_3d( 
     | 
|
| 
       120 
120 
     | 
    
         
             
                num_sample: int = 1000,
         
     | 
| 
       121 
121 
     | 
    
         
             
                perplexity: int = 150,
         
     | 
| 
       122 
122 
     | 
    
         
             
                metric: Literal["cosine", "euclidean"] = "cosine",
         
     | 
| 
       123 
     | 
    
         
            -
                device: str = None,
         
     | 
| 
       124 
     | 
    
         
            -
                seed: int = 0,
         
     | 
| 
       125 
123 
     | 
    
         
             
                q: float = 0.95,
         
     | 
| 
       126 
124 
     | 
    
         
             
                knn: int = 10,
         
     | 
| 
      
 125 
     | 
    
         
            +
                seed: int = 0,
         
     | 
| 
      
 126 
     | 
    
         
            +
                device: str = None,
         
     | 
| 
       127 
127 
     | 
    
         
             
            ):
         
     | 
| 
       128 
128 
     | 
    
         
             
                """
         
     | 
| 
       129 
129 
     | 
    
         
             
                Returns:
         
     | 
| 
         @@ -148,11 +148,13 @@ def rgb_from_tsne_3d( 
     | 
|
| 
       148 
148 
     | 
    
         
             
                    num_sample=num_sample,
         
     | 
| 
       149 
149 
     | 
    
         
             
                    metric=metric,
         
     | 
| 
       150 
150 
     | 
    
         
             
                    rgb_func=rgb_from_3d_rgb_cube,
         
     | 
| 
       151 
     | 
    
         
            -
                    q=q, 
     | 
| 
       152 
     | 
    
         
            -
                     
     | 
| 
      
 151 
     | 
    
         
            +
                    q=q,
         
     | 
| 
      
 152 
     | 
    
         
            +
                    knn=knn,
         
     | 
| 
       153 
153 
     | 
    
         
             
                    reduction=TSNE, reduction_dim=3, reduction_kwargs={
         
     | 
| 
       154 
154 
     | 
    
         
             
                        "perplexity": perplexity,
         
     | 
| 
       155 
     | 
    
         
            -
                    },
         
     | 
| 
      
 155 
     | 
    
         
            +
                    }, transform_func=_identity,
         
     | 
| 
      
 156 
     | 
    
         
            +
                    seed=seed,
         
     | 
| 
      
 157 
     | 
    
         
            +
                    device=device,
         
     | 
| 
       156 
158 
     | 
    
         
             
                )
         
     | 
| 
       157 
159 
     | 
    
         
             
                return x3d, rgb
         
     | 
| 
       158 
160 
     | 
    
         | 
| 
         @@ -161,10 +163,10 @@ def rgb_from_cosine_tsne_3d( 
     | 
|
| 
       161 
163 
     | 
    
         
             
                features: torch.Tensor,
         
     | 
| 
       162 
164 
     | 
    
         
             
                num_sample: int = 1000,
         
     | 
| 
       163 
165 
     | 
    
         
             
                perplexity: int = 150,
         
     | 
| 
       164 
     | 
    
         
            -
                device: str = None,
         
     | 
| 
       165 
     | 
    
         
            -
                seed: int = 0,
         
     | 
| 
       166 
166 
     | 
    
         
             
                q: float = 0.95,
         
     | 
| 
       167 
167 
     | 
    
         
             
                knn: int = 10,
         
     | 
| 
      
 168 
     | 
    
         
            +
                seed: int = 0,
         
     | 
| 
      
 169 
     | 
    
         
            +
                device: str = None
         
     | 
| 
       168 
170 
     | 
    
         
             
            ):
         
     | 
| 
       169 
171 
     | 
    
         
             
                """
         
     | 
| 
       170 
172 
     | 
    
         
             
                Returns:
         
     | 
| 
         @@ -205,11 +207,13 @@ def rgb_from_cosine_tsne_3d( 
     | 
|
| 
       205 
207 
     | 
    
         
             
                    num_sample=num_sample,
         
     | 
| 
       206 
208 
     | 
    
         
             
                    metric="cosine",
         
     | 
| 
       207 
209 
     | 
    
         
             
                    rgb_func=rgb_from_cosine,
         
     | 
| 
       208 
     | 
    
         
            -
                    q=q, 
     | 
| 
       209 
     | 
    
         
            -
                     
     | 
| 
      
 210 
     | 
    
         
            +
                    q=q,
         
     | 
| 
      
 211 
     | 
    
         
            +
                    knn=knn,
         
     | 
| 
       210 
212 
     | 
    
         
             
                    reduction=TSNE, reduction_dim=3, reduction_kwargs={
         
     | 
| 
       211 
213 
     | 
    
         
             
                        "perplexity": perplexity,
         
     | 
| 
       212 
     | 
    
         
            -
                    },
         
     | 
| 
      
 214 
     | 
    
         
            +
                    }, transform_func=_identity,
         
     | 
| 
      
 215 
     | 
    
         
            +
                    seed=seed,
         
     | 
| 
      
 216 
     | 
    
         
            +
                    device=device,
         
     | 
| 
       213 
217 
     | 
    
         
             
                )
         
     | 
| 
       214 
218 
     | 
    
         
             
                return x3d, rgb
         
     | 
| 
       215 
219 
     | 
    
         | 
| 
         @@ -220,10 +224,10 @@ def rgb_from_umap_2d( 
     | 
|
| 
       220 
224 
     | 
    
         
             
                n_neighbors: int = 150,
         
     | 
| 
       221 
225 
     | 
    
         
             
                min_dist: float = 0.1,
         
     | 
| 
       222 
226 
     | 
    
         
             
                metric: Literal["cosine", "euclidean"] = "cosine",
         
     | 
| 
       223 
     | 
    
         
            -
                device: str = None,
         
     | 
| 
       224 
     | 
    
         
            -
                seed: int = 0,
         
     | 
| 
       225 
227 
     | 
    
         
             
                q: float = 0.95,
         
     | 
| 
       226 
228 
     | 
    
         
             
                knn: int = 10,
         
     | 
| 
      
 229 
     | 
    
         
            +
                seed: int = 0,
         
     | 
| 
      
 230 
     | 
    
         
            +
                device: str = None,
         
     | 
| 
       227 
231 
     | 
    
         
             
            ):
         
     | 
| 
       228 
232 
     | 
    
         
             
                """
         
     | 
| 
       229 
233 
     | 
    
         
             
                Returns:
         
     | 
| 
         @@ -240,12 +244,14 @@ def rgb_from_umap_2d( 
     | 
|
| 
       240 
244 
     | 
    
         
             
                    num_sample=num_sample,
         
     | 
| 
       241 
245 
     | 
    
         
             
                    metric=metric,
         
     | 
| 
       242 
246 
     | 
    
         
             
                    rgb_func=rgb_from_2d_colormap,
         
     | 
| 
       243 
     | 
    
         
            -
                    q=q, 
     | 
| 
       244 
     | 
    
         
            -
                     
     | 
| 
      
 247 
     | 
    
         
            +
                    q=q,
         
     | 
| 
      
 248 
     | 
    
         
            +
                    knn=knn,
         
     | 
| 
       245 
249 
     | 
    
         
             
                    reduction=UMAP, reduction_dim=2, reduction_kwargs={
         
     | 
| 
       246 
250 
     | 
    
         
             
                        "n_neighbors": n_neighbors,
         
     | 
| 
       247 
251 
     | 
    
         
             
                        "min_dist": min_dist,
         
     | 
| 
       248 
     | 
    
         
            -
                    },
         
     | 
| 
      
 252 
     | 
    
         
            +
                    }, transform_func=_identity,
         
     | 
| 
      
 253 
     | 
    
         
            +
                    seed=seed,
         
     | 
| 
      
 254 
     | 
    
         
            +
                    device=device,
         
     | 
| 
       249 
255 
     | 
    
         
             
                )
         
     | 
| 
       250 
256 
     | 
    
         
             
                return x2d, rgb
         
     | 
| 
       251 
257 
     | 
    
         | 
| 
         @@ -256,10 +262,10 @@ def rgb_from_umap_sphere( 
     | 
|
| 
       256 
262 
     | 
    
         
             
                n_neighbors: int = 150,
         
     | 
| 
       257 
263 
     | 
    
         
             
                min_dist: float = 0.1,
         
     | 
| 
       258 
264 
     | 
    
         
             
                metric: Literal["cosine", "euclidean"] = "cosine",
         
     | 
| 
       259 
     | 
    
         
            -
                device: str = None,
         
     | 
| 
       260 
     | 
    
         
            -
                seed: int = 0,
         
     | 
| 
       261 
265 
     | 
    
         
             
                q: float = 0.95,
         
     | 
| 
       262 
266 
     | 
    
         
             
                knn: int = 10,
         
     | 
| 
      
 267 
     | 
    
         
            +
                seed: int = 0,
         
     | 
| 
      
 268 
     | 
    
         
            +
                device: str = None,
         
     | 
| 
       263 
269 
     | 
    
         
             
            ):
         
     | 
| 
       264 
270 
     | 
    
         
             
                """
         
     | 
| 
       265 
271 
     | 
    
         
             
                Returns:
         
     | 
| 
         @@ -283,14 +289,15 @@ def rgb_from_umap_sphere( 
     | 
|
| 
       283 
289 
     | 
    
         
             
                    num_sample=num_sample,
         
     | 
| 
       284 
290 
     | 
    
         
             
                    metric=metric,
         
     | 
| 
       285 
291 
     | 
    
         
             
                    rgb_func=rgb_from_3d_rgb_cube,
         
     | 
| 
       286 
     | 
    
         
            -
                    q=q, 
     | 
| 
       287 
     | 
    
         
            -
                     
     | 
| 
      
 292 
     | 
    
         
            +
                    q=q,
         
     | 
| 
      
 293 
     | 
    
         
            +
                    knn=knn,
         
     | 
| 
       288 
294 
     | 
    
         
             
                    reduction=UMAP, reduction_dim=2, reduction_kwargs={
         
     | 
| 
       289 
295 
     | 
    
         
             
                        "n_neighbors": n_neighbors,
         
     | 
| 
       290 
296 
     | 
    
         
             
                        "min_dist": min_dist,
         
     | 
| 
       291 
297 
     | 
    
         
             
                        "output_metric": "haversine",
         
     | 
| 
       292 
     | 
    
         
            -
                    },
         
     | 
| 
       293 
     | 
    
         
            -
                     
     | 
| 
      
 298 
     | 
    
         
            +
                    }, transform_func=transform_func,
         
     | 
| 
      
 299 
     | 
    
         
            +
                    seed=seed,
         
     | 
| 
      
 300 
     | 
    
         
            +
                    device=device,
         
     | 
| 
       294 
301 
     | 
    
         
             
                )
         
     | 
| 
       295 
302 
     | 
    
         
             
                return x3d, rgb
         
     | 
| 
       296 
303 
     | 
    
         | 
| 
         @@ -301,10 +308,10 @@ def rgb_from_umap_3d( 
     | 
|
| 
       301 
308 
     | 
    
         
             
                n_neighbors: int = 150,
         
     | 
| 
       302 
309 
     | 
    
         
             
                min_dist: float = 0.1,
         
     | 
| 
       303 
310 
     | 
    
         
             
                metric: Literal["cosine", "euclidean"] = "cosine",
         
     | 
| 
       304 
     | 
    
         
            -
                device: str = None,
         
     | 
| 
       305 
     | 
    
         
            -
                seed: int = 0,
         
     | 
| 
       306 
311 
     | 
    
         
             
                q: float = 0.95,
         
     | 
| 
       307 
312 
     | 
    
         
             
                knn: int = 10,
         
     | 
| 
      
 313 
     | 
    
         
            +
                seed: int = 0,
         
     | 
| 
      
 314 
     | 
    
         
            +
                device: str = None,
         
     | 
| 
       308 
315 
     | 
    
         
             
            ):
         
     | 
| 
       309 
316 
     | 
    
         
             
                """
         
     | 
| 
       310 
317 
     | 
    
         
             
                Returns:
         
     | 
| 
         @@ -321,12 +328,14 @@ def rgb_from_umap_3d( 
     | 
|
| 
       321 
328 
     | 
    
         
             
                    num_sample=num_sample,
         
     | 
| 
       322 
329 
     | 
    
         
             
                    metric=metric,
         
     | 
| 
       323 
330 
     | 
    
         
             
                    rgb_func=rgb_from_3d_rgb_cube,
         
     | 
| 
       324 
     | 
    
         
            -
                    q=q, 
     | 
| 
       325 
     | 
    
         
            -
                     
     | 
| 
      
 331 
     | 
    
         
            +
                    q=q,
         
     | 
| 
      
 332 
     | 
    
         
            +
                    knn=knn,
         
     | 
| 
       326 
333 
     | 
    
         
             
                    reduction=UMAP, reduction_dim=3, reduction_kwargs={
         
     | 
| 
       327 
334 
     | 
    
         
             
                        "n_neighbors": n_neighbors,
         
     | 
| 
       328 
335 
     | 
    
         
             
                        "min_dist": min_dist,
         
     | 
| 
       329 
     | 
    
         
            -
                    },
         
     | 
| 
      
 336 
     | 
    
         
            +
                    }, transform_func=_identity,
         
     | 
| 
      
 337 
     | 
    
         
            +
                    seed=seed,
         
     | 
| 
      
 338 
     | 
    
         
            +
                    device=device,
         
     | 
| 
       330 
339 
     | 
    
         
             
                )
         
     | 
| 
       331 
340 
     | 
    
         
             
                return x3d, rgb
         
     | 
| 
       332 
341 
     | 
    
         | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Metadata-Version: 2.2
         
     | 
| 
       2 
2 
     | 
    
         
             
            Name: nystrom_ncut
         
     | 
| 
       3 
     | 
    
         
            -
            Version: 0.0. 
     | 
| 
      
 3 
     | 
    
         
            +
            Version: 0.0.9
         
     | 
| 
       4 
4 
     | 
    
         
             
            Summary: Normalized Cut and Nyström Approximation
         
     | 
| 
       5 
5 
     | 
    
         
             
            Author-email: Huzheng Yang <huze.yann@gmail.com>, Wentinn Liao <wentinn.liao@gmail.com>
         
     | 
| 
       6 
6 
     | 
    
         
             
            Project-URL: Documentation, https://github.com/JophiArcana/Nystrom-NCUT/
         
     | 
| 
         @@ -0,0 +1,11 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            nystrom_ncut/__init__.py,sha256=Vlc_iAlfvTNUiJXpZLWUOaL2Q-YqZqgr7WoG6cVnD0g,439
         
     | 
| 
      
 2 
     | 
    
         
            +
            nystrom_ncut/common.py,sha256=RMPQvg9R2s7V-q7zAStN9YCZt7gpc5Ut-KSKtvELBQ4,1934
         
     | 
| 
      
 3 
     | 
    
         
            +
            nystrom_ncut/ncut_pytorch.py,sha256=-SKs9AdkafJSGkeYt4LwhbKZr8oq9JA5caAqjiVDAzU,11220
         
     | 
| 
      
 4 
     | 
    
         
            +
            nystrom_ncut/nystrom.py,sha256=1ngKzRrY9i2jEDo0EP8I9RsNTQzy4S7pmvkpayIkUOQ,8811
         
     | 
| 
      
 5 
     | 
    
         
            +
            nystrom_ncut/propagation_utils.py,sha256=AEKgWVw7x_podLEzELdCQeMmTJfAYfG4TiPuKbrN8Sw,10279
         
     | 
| 
      
 6 
     | 
    
         
            +
            nystrom_ncut/visualize_utils.py,sha256=p4wXXg47vqMn8c1N6NxGxtmPNwOzqquDvpMEjZVdq34,17196
         
     | 
| 
      
 7 
     | 
    
         
            +
            nystrom_ncut-0.0.9.dist-info/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
         
     | 
| 
      
 8 
     | 
    
         
            +
            nystrom_ncut-0.0.9.dist-info/METADATA,sha256=umrvGtKsci280oi3D5I_BeLIt8ajBogC5veHYrRln48,6058
         
     | 
| 
      
 9 
     | 
    
         
            +
            nystrom_ncut-0.0.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
         
     | 
| 
      
 10 
     | 
    
         
            +
            nystrom_ncut-0.0.9.dist-info/top_level.txt,sha256=j7g_j0S048EvguFFnGgD5Ewd3r2H6klsxd5A4dd-wHw,13
         
     | 
| 
      
 11 
     | 
    
         
            +
            nystrom_ncut-0.0.9.dist-info/RECORD,,
         
     | 
| 
         @@ -1,11 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            nystrom_ncut/__init__.py,sha256=Vlc_iAlfvTNUiJXpZLWUOaL2Q-YqZqgr7WoG6cVnD0g,439
         
     | 
| 
       2 
     | 
    
         
            -
            nystrom_ncut/common.py,sha256=G6w_8_BfBUMc6r8WFgA0NH4K6am7AzZCSdrQEVjra7U,671
         
     | 
| 
       3 
     | 
    
         
            -
            nystrom_ncut/ncut_pytorch.py,sha256=-SKs9AdkafJSGkeYt4LwhbKZr8oq9JA5caAqjiVDAzU,11220
         
     | 
| 
       4 
     | 
    
         
            -
            nystrom_ncut/nystrom.py,sha256=-l26oiJ0oPReSGlMlYV3gftszgFdAAHAi7OFtGPZ4Ic,8802
         
     | 
| 
       5 
     | 
    
         
            -
            nystrom_ncut/propagation_utils.py,sha256=0d2VhT0JrLRurd44hZbnxBvBh-QscPKxtV7VrwYtTdo,11569
         
     | 
| 
       6 
     | 
    
         
            -
            nystrom_ncut/visualize_utils.py,sha256=jDjuyZ9rdd25jqrPObJgK8zCLHc3Oms0fQnaIetHk-U,17112
         
     | 
| 
       7 
     | 
    
         
            -
            nystrom_ncut-0.0.8.dist-info/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
         
     | 
| 
       8 
     | 
    
         
            -
            nystrom_ncut-0.0.8.dist-info/METADATA,sha256=zQpx3REOOckpJSuc7N6UNpXZoqgsM5UoFWV6__DuaRQ,6058
         
     | 
| 
       9 
     | 
    
         
            -
            nystrom_ncut-0.0.8.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
         
     | 
| 
       10 
     | 
    
         
            -
            nystrom_ncut-0.0.8.dist-info/top_level.txt,sha256=j7g_j0S048EvguFFnGgD5Ewd3r2H6klsxd5A4dd-wHw,13
         
     | 
| 
       11 
     | 
    
         
            -
            nystrom_ncut-0.0.8.dist-info/RECORD,,
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |