游雁
2024-03-26 507f821d7ab0a51a4f01b8557fe38e0bcf0d14f6
funasr/models/campplus/cluster_backend.py
@@ -4,11 +4,9 @@
#  MIT License  (https://opensource.org/licenses/MIT)
# Modified from 3D-Speaker (https://github.com/alibaba-damo-academy/3D-Speaker)
import umap
import scipy
import torch
import sklearn
import hdbscan
import numpy as np
from sklearn.cluster._kmeans import k_means
@@ -117,16 +115,18 @@
        self.min_samples = min_samples
        self.min_cluster_size = min_cluster_size
        self.metric = metric
        import hdbscan
        self.hdbscan = hdbscan
    def __call__(self, X):
        from umap.umap_ import UMAP
        import umap.umap_ as umap
        umap_X = umap.UMAP(
            n_neighbors=self.n_neighbors,
            min_dist=0.0,
            n_components=min(self.n_components, X.shape[0] - 2),
            metric=self.metric,
        ).fit_transform(X)
        labels = hdbscan.HDBSCAN(
        labels = self.hdbscan.HDBSCAN(
            min_samples=self.min_samples,
            min_cluster_size=self.min_cluster_size,
            allow_single_cluster=True).fit_predict(umap_X)