Skip to content

Commit c4d1a2e

Browse files
author
Andrey Oskin
committed
Added tests for hammerly
1 parent ee88778 commit c4d1a2e

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

test/test05_hamerly.jl

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,43 @@ end
2020
@test double_argmax([0.5, 0, 0]) == (1, 2)
2121
end
2222

23+
@testset "singlethread linear separation" begin
24+
# with the same amount of iterations answer should be the same as in Lloyd case
25+
Random.seed!(2020)
26+
27+
X = rand(3, 100)
28+
res = kmeans(Hamerly(), X, 3; n_threads = 1, tol = 1e-10, max_iters = 10, verbose = false)
29+
30+
@test res.totalcost 14.16198704459199
31+
@test !res.converged
32+
@test res.iterations == 11
33+
34+
Random.seed!(2020)
35+
X = rand(3, 100)
36+
res = kmeans(Hamerly(), X, 3; n_threads = 1, tol = 1e-10, max_iters = 1000, verbose = false)
37+
38+
@test res.totalcost 14.161987044591992
39+
@test res.converged
40+
@test res.iterations == 11
41+
end
42+
43+
@testset "multithread linear separation quasi two threads" begin
44+
Random.seed!(2020)
45+
46+
X = rand(3, 100)
47+
res = kmeans(Hamerly(), X, 3; n_threads = 2, tol = 1e-10, max_iters = 10, verbose = false)
48+
49+
@test res.totalcost 14.16198704459199
50+
@test !res.converged
51+
@test res.iterations == 11
52+
53+
Random.seed!(2020)
54+
X = rand(3, 100)
55+
res = kmeans(Hamerly(), X, 3; n_threads = 2, tol = 1e-10, max_iters = 1000, verbose = false)
56+
57+
@test res.totalcost 14.161987044591992
58+
@test res.converged
59+
@test res.iterations == 11
60+
end
61+
2362
end # module

0 commit comments

Comments
 (0)