Coverage for NeuralTSNE/NeuralTSNE/TSNE/tests/fixtures/dimensionality_reduction_fixtures.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-05-18 16:32 +0000

1from unittest.mock import patch 

2 

3import pytest 

4 

5from NeuralTSNE.TSNE.Modules import DimensionalityReduction 

6 

7 

8@pytest.fixture 

9def classifier_instance(request, default_parametric_tsne_instance): 

10 params = request.param 

11 

12 with patch( 

13 "NeuralTSNE.TSNE.Modules.dimensionality_reduction.DimensionalityReduction.reset_exaggeration_status" 

14 ) as mock_exaggeration_status: 

15 yield DimensionalityReduction( 

16 tsne=default_parametric_tsne_instance[0], **params 

17 ), params | { 

18 "tsne": default_parametric_tsne_instance[0] 

19 }, mock_exaggeration_status 

20 

21 

22@pytest.fixture(params=[None]) 

23def default_classifier_instance(request, default_parametric_tsne_instance): 

24 tsne_params = request.param or {} 

25 params = {"shuffle": True, "optimizer": "rmsprop", "lr": 1e-6} 

26 tsne_instance, default_tsne_params = default_parametric_tsne_instance 

27 for k, v in tsne_params.items(): 

28 tsne_instance.__dict__[k] = v 

29 return DimensionalityReduction(tsne=tsne_instance, **params), { 

30 "tsne_params": tsne_params, 

31 "default_tsne_params": default_tsne_params, 

32 "params": params, 

33 }