@@ -30,7 +30,7 @@ function kmeans!(alg::Lloyd, containers, X, k, weights;
3030
3131 # Update centroids & labels with closest members until convergence
3232 while niters <= max_iters
33- @parallelize n_threads ncol chunk_update_centroids (alg, metric, containers, centroids, X, weights)
33+ @parallelize n_threads ncol chunk_update_centroids (alg, containers, centroids, X, weights, metric )
3434 collect_containers (alg, containers, centroids, n_threads)
3535 J = sum (containers. J)
3636
@@ -49,7 +49,7 @@ function kmeans!(alg::Lloyd, containers, X, k, weights;
4949 niters += 1
5050 end
5151
52- @parallelize n_threads ncol sum_of_squares (metric, containers, X, containers. labels, centroids, weights)
52+ @parallelize n_threads ncol sum_of_squares (containers, X, containers. labels, centroids, weights, metric )
5353 totalcost = sum (containers. sum_of_squares)
5454
5555 # Terminate algorithm with the assumption that K-means has converged
@@ -104,7 +104,7 @@ function create_containers(::Lloyd, X, k, nrow, ncol, n_threads)
104104end
105105
106106
107- function chunk_update_centroids (:: Lloyd , metric, containers, centroids, X, weights, r, idx)
107+ function chunk_update_centroids (:: Lloyd , containers, centroids, X, weights, metric , r, idx)
108108 # unpack containers for easier manipulations
109109 centroids_new = containers. centroids_new[idx]
110110 centroids_cnt = containers. centroids_cnt[idx]
@@ -118,7 +118,7 @@ function chunk_update_centroids(::Lloyd, metric, containers, centroids, X, weigh
118118 min_dist = distance (metric, X, centroids, i, 1 )
119119 label = 1
120120 for j in 2 : size (centroids, 2 )
121- dist = distance (metric, X, centroids, i, j )
121+ dist = distance (metric, X, centroids, i, 1 )
122122 label = dist < min_dist ? j : label
123123 min_dist = dist < min_dist ? dist : min_dist
124124 end
0 commit comments