bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2018-06-03T12:14:16Zhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/30`test_evaluate()` fails sometimes2018-06-03T12:14:16ZAndré Anjos`test_evaluate()` fails sometimesHere is the log output: https://gitlab.idiap.ch/bob/bob.bio.base/builds/6440
The problem seems related to a label that is read as a binary value ``b'lp'``. This will have troubles working through matplotlib for Python 3 distributions....Here is the log output: https://gitlab.idiap.ch/bob/bob.bio.base/builds/6440
The problem seems related to a label that is read as a binary value ``b'lp'``. This will have troubles working through matplotlib for Python 3 distributions.
It seems random though.https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/29Preprocessor does not use the load method of the BioFile class2018-06-03T12:14:16ZAndré AnjosPreprocessor does not use the load method of the BioFile class*Created by: 183amir*
The databases provide a load method in its `File` class but this is not used in the preprocessor when data is read.
`read_original_data`: https://github.com/bioidiap/bob.bio.base/blob/master/bob/bio/base/preproces...*Created by: 183amir*
The databases provide a load method in its `File` class but this is not used in the preprocessor when data is read.
`read_original_data`: https://github.com/bioidiap/bob.bio.base/blob/master/bob/bio/base/preprocessor/Preprocessor.py#L87
Some databases may contain more than one sample in one file (like videos and audios with two channles); while I understand that this is handled in `bob.bio.video` for video files, it is not clear how this can be handled for audio files with two channels in them.
If the preprocessor was calling the `load` method of the `File` (`BioFile`) class, we could use logical paths for `File.path` instead of the actual path and handle this in the `load` method. For example,
`File.path` would be `origpath_A` or `origpath_B` depending on the channel and then the `load` method would return only channel A or B depending on the logical path that was requested.Refactoring 2016 and gitlab migration milestoneAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/28Baseline-style python configuration2018-06-03T12:14:16ZAndré AnjosBaseline-style python configuration*Created by: anjos*
I'm trying to revive/port an old package (was called `bob.fingervein`), based on the old facereclib.
One of the tasks I have is to try and revive baselines on a paper. Though this package provides a somewhat easy ...*Created by: anjos*
I'm trying to revive/port an old package (was called `bob.fingervein`), based on the old facereclib.
One of the tasks I have is to try and revive baselines on a paper. Though this package provides a somewhat easy way to re-run baselines, I think we could slightly improve it by introducing a "configuration script"-style way to run baselines.
Here is what could be the logic behind it:
1. The user defines a python-syntax "config" file, which matches the flexibility of `verify.py` in terms of options. It could be something like this:
```python
import bob.db.vera
from bob.bio.base.database import DatabaseBob
database = DatabaseBob(database = bob.db.vera.Database(...))
protocol = 'NOM' #select here the protocol you want to run against
groups = ('dev',) #select here the subsets inside the protocol to generate scores for
from bob.bio.vein.preprocessors import FingerCrop
# this the preprocessing step for this baseline
preprocessor = FingerCrop()
skip_preprocessing = False # set the following flag to True to skip the preprocessing step
# more options for 'extrator' and 'algorithm' will follow
# setup the grid processing options
from bob.bio.base.grid import Grid
grid = Grid(...)
```
2. The command line then, *may* become as simple as:
```sh
$ ./bin/verify.py -vv config.py
```
3. Options on the command line **override** those in the script. So, the following should work (e.g., to override the grid processing options):
```sh
$ ./bin/verify.py -vv config.py --parallel=4
```
4. Optionally, concatenating multiple configuration files, make it override previously set options:
```sh
$ ./bin/verify.py -vv config1.py config2.py
```
5. Config files may be also hooked on the resources/python-entry-point system:
```
$ ./bin/verify.py vera-baseline1-btas2016
```
6. The changes are done in a backward-compatible way, so current use of `verify.py` is not affected
This would allow us to manage single files and even exchange baselines with people with full configurations and comments. All lives inside a single, while flexible file and provides a full pythonic way to describe a baseline, that is easy to run with a simple command line.
People around the office here claimed that is possible if we do something like in this test:
https://github.com/bioidiap/bob.bio.base/blob/master/bob/bio/base/test/test_scripts.py#L106
While this would be an alternative, this is not a clean option. Imports would have to be handled in special way and the final script would look very counter-intuitive.
Am I overlooking something?
https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/27Adding score distribution feature to evaluate.py2018-06-03T12:14:16ZAndré AnjosAdding score distribution feature to evaluate.py*Created by: akomaty*
evaluate.py doesn't have a built-in "plot_score_distribution" feature.
I'll be adding this feature to bob.bio.base asap!*Created by: akomaty*
evaluate.py doesn't have a built-in "plot_score_distribution" feature.
I'll be adding this feature to bob.bio.base asap!https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/26Confusing defaults documentation on bob.bio.base scripts2018-06-03T12:14:16ZAndré AnjosConfusing defaults documentation on bob.bio.base scripts*Created by: anjos*
Example:
```text
Directories that can be changed according to your requirements:
-T DIR, --temp-directory DIR
The directory for temporary files, default is:
/i...*Created by: anjos*
Example:
```text
Directories that can be changed according to your requirements:
-T DIR, --temp-directory DIR
The directory for temporary files, default is:
/idiap/temp/aanjos/database-name/sub-directory.
(default: None)
-R DIR, --result-directory DIR
The directory for resulting score files, default is:
/idiap/user/aanjos/database-name/sub-directory.
(default: None)
```
What is the right "default"?Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/25It should be possible to list only resources attached to a particular bob.bio...2018-06-03T12:14:16ZAndré AnjosIt should be possible to list only resources attached to a particular bob.bio.XYZ implementation*Created by: anjos*
As of today, all installed resources are listed on the screen.
If a user, for example, is going to run face recognition experiments, but bob.bio.spear is installed on the environment, all resources with for both p...*Created by: anjos*
As of today, all installed resources are listed on the screen.
If a user, for example, is going to run face recognition experiments, but bob.bio.spear is installed on the environment, all resources with for both packages will be listed.
It would be nice to have a command-line option on `resources.py` to filter out stuff that you're not interested on. For example:
```sh
$ ./bin/resources.py -dt database --package=bob.bio.face
```
Would, in this case, list only the resources for the `bob.bio.face` package.https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/23Tests failing on the nightlies2018-06-03T12:14:16ZAndré AnjosTests failing on the nightlies*Created by: anjos*
This package is failing on all our Python 3.4 builds with the following error:
```text
======================================================================
ERROR: bob.bio.base.test.test_scripts.test_resources
...*Created by: anjos*
This package is failing on all our Python 3.4 builds with the following error:
```text
======================================================================
ERROR: bob.bio.base.test.test_scripts.test_resources
----------------------------------------------------------------------
Traceback (most recent call last):
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/nose/case.py", line 198, in runTest
self.test(*self.arg)
File "/Users/buildbot/work/gitlab-ci/work/gitlab-ci/f6f95b82/1/biometric/bob.nightlies/layers/2/bob.bio.base/bob/bio/base/test/test_scripts.py", line 373, in test_resources
databases([])
File "/Users/buildbot/work/gitlab-ci/work/gitlab-ci/f6f95b82/1/biometric/bob.nightlies/layers/2/bob.bio.base/bob/bio/base/script/resources.py", line 60, in databases
databases = bob.bio.base.utils.resources.database_directories(replacements=args.database_directories_file)
File "/Users/buildbot/work/gitlab-ci/work/gitlab-ci/f6f95b82/1/biometric/bob.nightlies/layers/2/bob.bio.base/bob/bio/base/utils/resources.py", line 227, in database_directories
for entry_point in sorted(entry_points):
nose.proxy.TypeError: unorderable types: EntryPoint() < EntryPoint()
-------------------- >> begin captured logging << --------------------
```
Ref: https://gitlab.idiap.ch/biometric/bob.nightlies/builds/3106
Not sure how to change this one. Could you please check?https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/22Tests are failing on Ubuntu 12.042018-06-03T12:14:17ZAndré AnjosTests are failing on Ubuntu 12.04*Created by: tiagofrepereira2012*
Unit tests are failing on Ubuntu 12.04 (https://gitlab.idiap.ch/biometric/bob.nightlies/builds/2968)
Basically the function `numpy.full` does not exists in numpy 1.6 (the default for the ubuntu 12.04)....*Created by: tiagofrepereira2012*
Unit tests are failing on Ubuntu 12.04 (https://gitlab.idiap.ch/biometric/bob.nightlies/builds/2968)
Basically the function `numpy.full` does not exists in numpy 1.6 (the default for the ubuntu 12.04). The function is available since numpy 1.8.
For example, I would suggest to replace the code
```
numpy.full((1,len(probes)), numpy.nan, numpy.float64)
```
to
```
numpy.ones((1,len(probes)), numpy.float64) * numpy.nan
```
https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/19Add the IDIAP SGE GPU queue2018-06-03T12:14:17ZAndré AnjosAdd the IDIAP SGE GPU queue*Created by: tiagofrepereira2012*
It is necessary to add specific queues for the IDIAP SGE GPU queues.
I already have them in my fork, I will just sync.*Created by: tiagofrepereira2012*
It is necessary to add specific queues for the IDIAP SGE GPU queues.
I already have them in my fork, I will just sync.https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/16Distance.py using an undeclared variable2018-06-03T12:14:17ZAndré AnjosDistance.py using an undeclared variable*Created by: tiagofrepereira2012*
The commit e26e2727abbbf6fa1875215ace2b9e3e2edd85d3 is buggy.
It is using an undeclared variable.
Fix is on the way*Created by: tiagofrepereira2012*
The commit e26e2727abbbf6fa1875215ace2b9e3e2edd85d3 is buggy.
It is using an undeclared variable.
Fix is on the wayhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/14The script verify.py needs an argument to pass environment variables to the job2018-06-03T12:14:18ZAndré AnjosThe script verify.py needs an argument to pass environment variables to the job*Created by: tiagofrepereira2012*
gridtk jman has this feature.
It is possible to set environment variables to the grid submission using the argument `--environment`.
Would be useful to have the same feature in the `verify.py` script...*Created by: tiagofrepereira2012*
gridtk jman has this feature.
It is possible to set environment variables to the grid submission using the argument `--environment`.
Would be useful to have the same feature in the `verify.py` script.
A patch is on the wayhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/13score fusion script lacks documentation and testing2018-06-03T12:14:18ZAndré Anjosscore fusion script lacks documentation and testing*Created by: siebenkopf*
There is a script ``./bin/fusion_llr.py`` that is not documented anywhere, and it seems to be untested. Fix that!*Created by: siebenkopf*
There is a script ``./bin/fusion_llr.py`` that is not documented anywhere, and it seems to be untested. Fix that!https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/12evaluate.py segfaults with no error2018-06-03T12:14:18ZAndré Anjosevaluate.py segfaults with no error*Created by: 183amir*
I realized that when one of the score files are empty, the program segfaults with no error.*Created by: 183amir*
I realized that when one of the score files are empty, the program segfaults with no error.Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/11script/fusion_llr.py does not get installed with setuptools2018-06-03T12:14:18ZAndré Anjosscript/fusion_llr.py does not get installed with setuptools*Created by: 183amir*
*Created by: 183amir*
https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/10Create a test to prevent some errors for scoring tools2018-06-03T12:14:18ZAndré AnjosCreate a test to prevent some errors for scoring tools*Created by: 183amir*
https://github.com/bioidiap/bob.bio.base/commit/49da5d1a52bdb0ec53fdf11dbdda9be9688a04ac#commitcomment-16595463*Created by: 183amir*
https://github.com/bioidiap/bob.bio.base/commit/49da5d1a52bdb0ec53fdf11dbdda9be9688a04ac#commitcomment-16595463Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/8Evaluation.py script has no EPC curve2018-06-03T12:14:18ZAndré AnjosEvaluation.py script has no EPC curve*Created by: tiagofrepereira2012*
I just noticed that the `./evaluate.py` script has no option to plot the EPC.
Is there any special reason for that?
I know that this script works fine if we provide, as input, only `--dev-files` and...*Created by: tiagofrepereira2012*
I just noticed that the `./evaluate.py` script has no option to plot the EPC.
Is there any special reason for that?
I know that this script works fine if we provide, as input, only `--dev-files` and to plot the EPC we need both (dev and eval).
If this is the reason to not have it, I can just output a warning saying that (if you set the `--epc` with no `--eval-files`).
Anyways, I can implement it, no problem.
https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/4DatabaseBob.py : method fails if model_id has the label '0'2018-06-03T12:14:18ZAndré AnjosDatabaseBob.py : method fails if model_id has the label '0'*Created by: tiagofrepereira2012*
There is a flaw in the method `probe_file_sets` in the script bellow.
https://github.com/bioidiap/bob.bio.base/blob/master/bob/bio/base/database/DatabaseBob.py#L328
Depending of the database the met...*Created by: tiagofrepereira2012*
There is a flaw in the method `probe_file_sets` in the script bellow.
https://github.com/bioidiap/bob.bio.base/blob/master/bob/bio/base/database/DatabaseBob.py#L328
Depending of the database the method will never return the correct probes if the model_id is actually `0`.
This test should be replaced by a wiser test
```
if model_id is not None:
```
A patch is on the way.https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/1unnecessary files are processed in the parallel implementation2018-06-03T12:14:18ZAndré Anjosunnecessary files are processed in the parallel implementation*Created by: khoury*
It seems that the 'groups' argument is overwritten by its defaults value ('dev') while running the parallel implementation.
Changes in bob/bio/base/script/verify.py are needed.*Created by: khoury*
It seems that the 'groups' argument is overwritten by its defaults value ('dev') while running the parallel implementation.
Changes in bob/bio/base/script/verify.py are needed.https://gitlab.idiap.ch/bob/bob.extension/-/issues/15Test bob.extension.test_utils.test_documentation_generation failing on nighlies2018-06-04T12:44:45ZAndré AnjosTest bob.extension.test_utils.test_documentation_generation failing on nighlies*Created by: tiagofrepereira2012*
The test bob.extension.test_utils.test_documentation_generation failing on nighlies
```
======================================================================
FAIL: bob.extension.test_utils.test_do...*Created by: tiagofrepereira2012*
The test bob.extension.test_utils.test_documentation_generation failing on nighlies
```
======================================================================
FAIL: bob.extension.test_utils.test_documentation_generation
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/remote/gitlab-ci-runner/tmp/builds/3ae32669/0/biometric/bob.nightlies/layers/0/bob.extension/bob/extension/test_utils.py", line 194, in test_documentation_generation
nose.tools.eq_(result, expected)
AssertionError: {'http://matplotlib.sourceforge.net': None, 'https://www.idiap.ch/software/bob/docs/latest/idiap/gridtk/master': None, 'http://docs.python.org/2.7': None} != {'http://matplotlib.sourceforge.net': None, 'https://www.idiap.ch/software/bob/docs/latest/idiap/gridtk/master': None, 'https://www.idiap.ch/software/bob/docs/latest/bioidiap/bob.extension/master': None, 'http://docs.python.org/2.7': None}======================================================================
FAIL: bob.extension.test_utils.test_documentation_generation
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/remote/gitlab-ci-runner/tmp/builds/3ae32669/0/biometric/bob.nightlies/layers/0/bob.extension/bob/extension/test_utils.py", line 194, in test_documentation_generation
nose.tools.eq_(result, expected)
AssertionError: {'http://matplotlib.sourceforge.net': None, 'https://www.idiap.ch/software/bob/docs/latest/idiap/gridtk/master': None, 'http://docs.python.org/2.7': None} != {'http://matplotlib.sourceforge.net': None, 'https://www.idiap.ch/software/bob/docs/latest/idiap/gridtk/master': None, 'https://www.idiap.ch/software/bob/docs/latest/bioidiap/bob.extension/master': None, 'http://docs.python.org/2.7': None}
```https://gitlab.idiap.ch/bob/bob.extension/-/issues/13Support for other build architectures2018-06-04T12:44:45ZAndré AnjosSupport for other build architectures*Created by: anjos*
In the context of a demonstrator here at Idiap, we have to compile Bob packages to work in a Raspberry Pi. After some tweaking on this package, it works fine. Here are the changes required to make this package more g...*Created by: anjos*
In the context of a demonstrator here at Idiap, we have to compile Bob packages to work in a Raspberry Pi. After some tweaking on this package, it works fine. Here are the changes required to make this package more generic:
1. Remove all occurences of `-mtune=generic` and replace that with `-mtune=native`. Not all versions of gcc for different architectures support "-mtune=generic".
2. Inside `bob.extension.utils`, the `find_library` method needs to take into consideration a 32-bit ARM directory for the Raspberry PI as well, called `arm-linux-gnueabihf`.