Coverage for src/bob/bio/base/config/dummy/extractor.py: 0%

25 statements  

« prev     ^ index     » next       coverage.py v7.6.5, created at 2024-11-14 21:41 +0100

1import numpy 

2 

3import bob.bio.base 

4 

5from bob.bio.base.database import BioFile 

6from bob.bio.base.extractor import Extractor 

7 

8_data = [0.0, 1.0, 2.0, 3.0, 4.0] 

9 

10 

11class DummyExtractor(Extractor): 

12 def __init__(self, **kwargs): 

13 Extractor.__init__(self, requires_training=True) 

14 self.model = False 

15 

16 def train(self, train_data, extractor_file): 

17 assert isinstance(train_data, list) 

18 bob.bio.base.save(_data, extractor_file) 

19 

20 def load(self, extractor_file): 

21 data = bob.bio.base.load(extractor_file) 

22 assert (_data == data).all() 

23 self.model = True 

24 

25 def __call__(self, data): 

26 """Does nothing, simply converts the data type of the data, ignoring any annotation.""" 

27 assert self.model 

28 return data.astype(numpy.float).flatten() 

29 

30 

31extractor = DummyExtractor() 

32 

33 

34class DummyExtractorMetadata(DummyExtractor): 

35 def __call__(self, data, metadata=None): 

36 """Does nothing, simply converts the data type of the data, ignoring any annotation.""" 

37 assert isinstance(metadata, BioFile) 

38 return super(DummyExtractorMetadata, self).__call__(data) 

39 

40 

41extractor_metadata = DummyExtractorMetadata()