Skip to content
Snippets Groups Projects
Commit 347bf423 authored by Amir MOHAMMADI's avatar Amir MOHAMMADI
Browse files

Merge branch '10-create-a-test-to-prevent-some-errors-for-scoring-tools' into 'master'

Resolve "Create a test to prevent some errors for scoring tools"

Closes #10

See merge request !32
parents 24bda38f 9351e02a
No related branches found
No related tags found
1 merge request!32Resolve "Create a test to prevent some errors for scoring tools"
Pipeline #
import scipy.spatial
import bob.io.base
from bob.bio.base.algorithm import Algorithm
_data = [5., 6., 7., 8., 9.]
class DummyAlgorithm (Algorithm):
"""This class is used to test all the possible functions of the tool chain, but it does basically nothing."""
def __init__(self, **kwargs):
"""Generates a test value that is read and written"""
# call base class constructor registering that this tool performs everything.
Algorithm.__init__(
self,
performs_projection=False,
requires_enroller_training=True
)
def _test(self, file_name):
"""Simply tests that the read data is consistent"""
data = bob.io.base.load(file_name)
assert (_data == data).all()
def train_enroller(self, train_files, enroller_file):
"""Does not train the projector, but writes some file"""
# save something
bob.io.base.save(_data, enroller_file)
def load_enroller(self, enroller_file):
"""Loads the test value from file and compares it with the desired one"""
self._test(enroller_file)
def enroll(self, enroll_features):
"""Returns the first feature as the model"""
assert len(enroll_features)
# just return the first feature
return enroll_features[0]
def score(self, model, probe):
"""Returns the Euclidean distance between model and probe"""
return scipy.spatial.distance.euclidean(model, probe)
algorithm = DummyAlgorithm()
......@@ -82,6 +82,25 @@ def test_verify_config():
_verify(parameters, test_dir, 'test_config')
def test_verify_algorithm_noprojection():
test_dir = tempfile.mkdtemp(prefix='bobtest_')
# define dummy parameters
parameters = [
'-d', os.path.join(dummy_dir, 'database.py'),
'-p', os.path.join(dummy_dir, 'preprocessor.py'),
'-e', os.path.join(dummy_dir, 'extractor.py'),
'-a', os.path.join(dummy_dir, 'algorithm_noprojection.py'),
'--zt-norm',
'-vs', 'algorithm_noprojection',
'--temp-directory', test_dir,
'--result-directory', test_dir
]
print (bob.bio.base.tools.command_line(parameters))
_verify(parameters, test_dir, 'algorithm_noprojection')
def test_verify_resources():
test_dir = tempfile.mkdtemp(prefix='bobtest_')
# define dummy parameters
......
......@@ -14,16 +14,16 @@ develop = src/bob.extension
src/bob.blitz
src/bob.core
src/bob.io.base
src/bob.learn.activation
src/bob.math
src/bob.learn.linear
src/bob.sp
src/bob.learn.em
src/bob.math
src/bob.measure
src/bob.db.base
src/bob.bio.db
src/bob.db.atnt
src/bob.io.image
src/bob.learn.activation
src/bob.learn.linear
src/bob.learn.em
src/bob.db.atnt
src/bob.bio.db
.
; options for bob.buildout
......@@ -32,20 +32,20 @@ verbose = true
newest = false
[sources]
bob.extension = git https://gitlab.idiap.ch/bob/bob.extension
bob.blitz = git https://gitlab.idiap.ch/bob/bob.blitz
bob.core = git https://gitlab.idiap.ch/bob/bob.core
bob.io.base = git https://gitlab.idiap.ch/bob/bob.io.base
bob.learn.activation = git https://gitlab.idiap.ch/bob/bob.learn.activation
bob.math = git https://gitlab.idiap.ch/bob/bob.math
bob.sp = git https://gitlab.idiap.ch/bob/bob.sp
bob.learn.linear = git https://gitlab.idiap.ch/bob/bob.learn.linear
bob.learn.em = git https://gitlab.idiap.ch/bob/bob.learn.em
bob.measure = git https://gitlab.idiap.ch/bob/bob.measure
bob.db.base = git https://gitlab.idiap.ch/bob/bob.db.base
bob.bio.db = git https://gitlab.idiap.ch/biometric/bob.bio.db
bob.db.atnt = git https://gitlab.idiap.ch/bob/bob.db.atnt
bob.io.image = git https://gitlab.idiap.ch/bob/bob.io.image
bob.extension = git git@gitlab.idiap.ch:bob/bob.extension
bob.blitz = git git@gitlab.idiap.ch:bob/bob.blitz
bob.core = git git@gitlab.idiap.ch:bob/bob.core
bob.io.base = git git@gitlab.idiap.ch:bob/bob.io.base
bob.sp = git git@gitlab.idiap.ch:bob/bob.sp
bob.math = git git@gitlab.idiap.ch:bob/bob.math
bob.measure = git git@gitlab.idiap.ch:bob/bob.measure
bob.db.base = git git@gitlab.idiap.ch:bob/bob.db.base
bob.io.image = git git@gitlab.idiap.ch:bob/bob.io.image
bob.learn.activation = git git@gitlab.idiap.ch:bob/bob.learn.activation
bob.learn.linear = git git@gitlab.idiap.ch:bob/bob.learn.linear
bob.learn.em = git git@gitlab.idiap.ch:bob/bob.learn.em
bob.db.atnt = git git@gitlab.idiap.ch:bob/bob.db.atnt
bob.bio.db = git git@gitlab.idiap.ch:bob/bob.bio.db
[scripts]
recipe = bob.buildout:scripts
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment