@@ -70,8 +70,9 @@ def test_fit_transform_plot_wrong_hom_dims(transformer):
70
70
transformer .fit_transform_plot (X , sample = 0 , homology_dimensions = (2 ,))
71
71
72
72
73
- def test_pe_transform ():
74
- pe = PersistenceEntropy ()
73
+ @pytest .mark .parametrize ('n_jobs' , [1 , 2 , - 1 ])
74
+ def test_pe_transform (n_jobs ):
75
+ pe = PersistenceEntropy (n_jobs = n_jobs )
75
76
diagram_res = np .array ([[1. , 0.91829583405 ]])
76
77
77
78
assert_almost_equal (pe .fit_transform (X ), diagram_res )
@@ -82,22 +83,25 @@ def test_pe_transform():
82
83
83
84
84
85
@pytest .mark .parametrize ('n_bins' , list (range (10 , 51 , 10 )))
85
- def test_bc_transform_shape (n_bins ):
86
- bc = BettiCurve (n_bins = n_bins )
86
+ @pytest .mark .parametrize ('n_jobs' , [1 , 2 , - 1 ])
87
+ def test_bc_transform_shape (n_bins , n_jobs ):
88
+ bc = BettiCurve (n_bins = n_bins , n_jobs = n_jobs )
87
89
X_res = bc .fit_transform (X )
88
90
assert X_res .shape == (1 , bc ._n_dimensions , n_bins )
89
91
90
92
91
93
@pytest .mark .parametrize ('n_bins' , list (range (10 , 51 , 10 )))
92
94
@pytest .mark .parametrize ('n_layers' , list (range (1 , 10 )))
93
- def test_pl_transform_shape (n_bins , n_layers ):
94
- pl = PersistenceLandscape (n_bins = n_bins , n_layers = n_layers )
95
+ @pytest .mark .parametrize ('n_jobs' , [1 , 2 , - 1 ])
96
+ def test_pl_transform_shape (n_bins , n_layers , n_jobs ):
97
+ pl = PersistenceLandscape (n_bins = n_bins , n_layers = n_layers , n_jobs = n_jobs )
95
98
X_res = pl .fit_transform (X )
96
99
assert X_res .shape == (1 , pl ._n_dimensions , n_layers , n_bins )
97
100
98
101
99
- def test_pi_zero_weight_function ():
100
- pi = PersistenceImage (weight_function = lambda x : x * 0. )
102
+ @pytest .mark .parametrize ('n_jobs' , [1 , 2 , - 1 ])
103
+ def test_pi_zero_weight_function (n_jobs ):
104
+ pi = PersistenceImage (weight_function = lambda x : x * 0. , n_jobs = n_jobs )
101
105
X_res = pi .fit_transform (X )
102
106
assert np .array_equal (X_res , np .zeros_like (X_res ))
103
107
@@ -153,18 +157,20 @@ def test_large_pi_null_parallel():
153
157
assert_almost_equal (pi .fit_transform (diagrams )[0 ], 0 )
154
158
155
159
156
- def test_silhouette_transform ():
157
- sht = Silhouette (n_bins = 31 , power = 1. )
160
+ @pytest .mark .parametrize ('n_jobs' , [1 , 2 , - 1 ])
161
+ def test_silhouette_transform (n_jobs ):
162
+ sht = Silhouette (n_bins = 31 , power = 1. , n_jobs = n_jobs )
158
163
X_sht_res = np .array ([0. , 0.05 , 0.1 , 0.15 , 0.2 , 0.25 , 0.2 , 0.15 , 0.1 ,
159
164
0.05 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0. , 0.05 ,
160
165
0.1 , 0.15 , 0.2 , 0.25 , 0.2 , 0.15 , 0.1 , 0.05 , 0. ])
161
166
162
167
assert_almost_equal (sht .fit_transform (X )[0 ][0 ], X_sht_res )
163
168
164
169
165
- def test_silhouette_big_order ():
170
+ @pytest .mark .parametrize ('n_jobs' , [1 , 2 , - 1 ])
171
+ def test_silhouette_big_order (n_jobs ):
166
172
diagrams = np .array ([[[0 , 2 , 0 ], [1 , 4 , 0 ]]])
167
- sht_10 = Silhouette (n_bins = 41 , power = 10. )
173
+ sht_10 = Silhouette (n_bins = 41 , power = 10. , n_jobs = n_jobs )
168
174
X_sht_res = np .array ([0. , 0.00170459 , 0.00340919 , 0.00511378 , 0.00681837 ,
169
175
0.00852296 , 0.01022756 , 0.01193215 , 0.01363674 ,
170
176
0.01534133 , 0.01704593 , 0.11363674 , 0.21022756 ,
@@ -179,10 +185,11 @@ def test_silhouette_big_order():
179
185
assert_almost_equal (sht_10 .fit_transform (diagrams )[0 ][0 ], X_sht_res )
180
186
181
187
182
- @pytest .mark .parametrize ('transformer' , [HeatKernel (), PersistenceImage ()])
183
- def test_all_pts_the_same (transformer ):
188
+ @pytest .mark .parametrize ('transformer_cls' , [HeatKernel , PersistenceImage ])
189
+ @pytest .mark .parametrize ('n_jobs' , [1 , 2 , - 1 ])
190
+ def test_all_pts_the_same (transformer_cls , n_jobs ):
184
191
X = np .zeros ((1 , 4 , 3 ))
185
- X_res = transformer .fit_transform (X )
192
+ X_res = transformer_cls ( n_jobs = n_jobs ) .fit_transform (X )
186
193
assert np .array_equal (X_res , np .zeros_like (X_res ))
187
194
188
195
@@ -222,13 +229,14 @@ def get_input(pts, dims):
222
229
return X
223
230
224
231
232
+ @pytest .mark .parametrize ('n_jobs' , [1 , 2 ])
225
233
@given (pts_gen , dims_gen )
226
- def test_hk_shape (pts , dims ):
234
+ def test_hk_shape (n_jobs , pts , dims ):
227
235
n_bins = 10
228
236
X = get_input (pts , dims )
229
237
sigma = (np .max (X [:, :, :2 ]) - np .min (X [:, :, :2 ])) / 2
230
238
231
- hk = HeatKernel (sigma = sigma , n_bins = n_bins )
239
+ hk = HeatKernel (sigma = sigma , n_bins = n_bins , n_jobs = n_jobs )
232
240
num_dimensions = len (np .unique (dims ))
233
241
X_t = hk .fit_transform (X )
234
242
0 commit comments