bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2021-10-29T15:34:56Zhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/144Installation instructions should point to bob/docs2021-10-29T15:34:56ZAmir MOHAMMADIInstallation instructions should point to bob/docsThis package details how to install this package using bdt and buildout
but this is true for all packages. We need generic installation instructions in
bob/docs and not here.This package details how to install this package using bdt and buildout
but this is true for all packages. We need generic installation instructions in
bob/docs and not here.Bob 9.0.0Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.learn.em/-/issues/32Remove score normalization from here2020-11-05T14:56:37ZTiago de Freitas PereiraRemove score normalization from hereScore normalization mechanisms are implemented as a pipeline in `bob.bio.base` (https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/dask-pipelines/bob/bio/base/script/vanilla_biometrics_ztnorm.py).
Shall we remove the score-normalization bi...Score normalization mechanisms are implemented as a pipeline in `bob.bio.base` (https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/dask-pipelines/bob/bio/base/script/vanilla_biometrics_ztnorm.py).
Shall we remove the score-normalization bits from here?
The score-normalization bits are placed here for historical reasons.
ThanksBob 9.0.0https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/143Adding tags to transformers to differentiate between annotators, preprocessor...2022-03-18T09:09:57ZAmir MOHAMMADIAdding tags to transformers to differentiate between annotators, preprocessors, and extractors.I think while it was a good idea to use scikit-learn's transformers API for our classes, still there are some differences between the transformers that we implement. I suggest adding tags to our transformers (https://scikit-learn.org/sta...I think while it was a good idea to use scikit-learn's transformers API for our classes, still there are some differences between the transformers that we implement. I suggest adding tags to our transformers (https://scikit-learn.org/stable/developers/develop.html#estimator-tags) to be able to programmatically differentiate them.
For example, we can have:
```python
class Preprocessor(BaseEstimator):
def _more_tags(self):
return {'bob_transformer': 'preprocessor'}
```
that would allow:
```python
preprocessor = wrap(["sample"], preprocessor)
```
to implicitly imply:
```python
transform_extra_arguments = (("annotations", "annotations"),)
preprocessor = wrap(["sample"], preprocessor, transform_extra_arguments=transform_extra_arguments)
```
Or wrapping an annotator would imply `sample.annotations = annotator(sample.data)` instead of the usual `sample.data = transformer(sample.data)`.
What do you think? Does it make sense?Bob 9.0.0Yannick DAYERYannick DAYERhttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/60Mac builds take more than 2 hours to finish2020-11-04T17:16:13ZAmir MOHAMMADIMac builds take more than 2 hours to finishThere is something wrong with our mac builds. They take a long time to finish. I increased the timeout from 1h to 2h but they are still failing, e.g.: https://gitlab.idiap.ch/bob/bob.devtools/-/jobs/215023There is something wrong with our mac builds. They take a long time to finish. I increased the timeout from 1h to 2h but they are still failing, e.g.: https://gitlab.idiap.ch/bob/bob.devtools/-/jobs/215023https://gitlab.idiap.ch/bob/bob.chapter.FRICE/-/issues/2Package is not working in Python 3 and with current Bob version2020-10-30T11:54:12ZManuel Günthersiebenkopf@googlemail.comPackage is not working in Python 3 and with current Bob versionIt has been a while that this package was uploaded, and Bob has changed in the meantime. Additionally, there are some parts that are incompatible with Python 3 (e.g., the `StringIO` works differently in Python 3).It has been a while that this package was uploaded, and Bob has changed in the meantime. Additionally, there are some parts that are incompatible with Python 3 (e.g., the `StringIO` works differently in Python 3).Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.io.audio/-/issues/7bob.io.matlab is deprecated2020-11-02T17:13:09ZAmir MOHAMMADIbob.io.matlab is deprecatedbob.io.matlab usage needs to be dropped here.
see https://gitlab.idiap.ch/bob/bob.io.matlab/-/issues/5
```
bob.io.audio/requirements.txt
7:bob.io.matlab
bob.io.audio/bob/io/audio/test.py
14:import bob.io.matlab
bob.io.audio/develop.cfg...bob.io.matlab usage needs to be dropped here.
see https://gitlab.idiap.ch/bob/bob.io.matlab/-/issues/5
```
bob.io.audio/requirements.txt
7:bob.io.matlab
bob.io.audio/bob/io/audio/test.py
14:import bob.io.matlab
bob.io.audio/develop.cfg
15: src/bob.io.matlab
28:bob.io.matlab = git https://gitlab.idiap.ch/bob/bob.io.matlab
bob.io.audio/conda/meta.yaml
32: - bob.io.matlab
```Bob 9.0.0https://gitlab.idiap.ch/bob/bob.bio.vein/-/issues/23Drop dependency on bob.io.matlab2020-11-03T08:31:33ZAmir MOHAMMADIDrop dependency on bob.io.matlabLooks like bob.io.matlab is listed here but not used:
```
bob.bio.vein/requirements.txt
12:bob.io.matlab
bob.bio.vein/bob/bio/vein/tests/test.py
22:import bob.io.matlab
bob.bio.vein/develop.cfg
22: src/bob.io.matlab
52:bob.io....Looks like bob.io.matlab is listed here but not used:
```
bob.bio.vein/requirements.txt
12:bob.io.matlab
bob.bio.vein/bob/bio/vein/tests/test.py
22:import bob.io.matlab
bob.bio.vein/develop.cfg
22: src/bob.io.matlab
52:bob.io.matlab = git git@gitlab.idiap.ch:bob/bob.io.matlab
bob.bio.vein/matlab/compare.py
9:import bob.io.matlab
bob.bio.vein/conda/meta.yaml
39: - bob.io.matlab
```
bob.io.matlab is deprecated https://gitlab.idiap.ch/bob/bob.io.matlab/-/issues/5Bob 9.0.0https://gitlab.idiap.ch/bob/bob.ip.stereo/-/issues/4pybind11 is not a runtime dependency2021-01-26T16:05:29ZAmir MOHAMMADIpybind11 is not a runtime dependencyFrom what I have seen, e.g. https://github.com/pybind/python_example/blob/master/conda.recipe/meta.yaml, pybind11 is only a build time requirement and not a run time requirement. However, pybind11 is listed in the run section of the cond...From what I have seen, e.g. https://github.com/pybind/python_example/blob/master/conda.recipe/meta.yaml, pybind11 is only a build time requirement and not a run time requirement. However, pybind11 is listed in the run section of the conda recipe of this package as well.
Is this necessary? Can we remove it?Vincent POLLETVincent POLLEThttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/142Decoupling data and annotation loading of BioFile's from database interfaces2022-03-03T17:35:48ZAmir MOHAMMADIDecoupling data and annotation loading of BioFile's from database interfacesAs originally proposed in https://gitlab.idiap.ch/bob/bob.db.base/-/issues/22
I think it would make sense to separate data loading and annotation loading from the `database` object and put the functionality in `BioFile`s.
This effort wou...As originally proposed in https://gitlab.idiap.ch/bob/bob.db.base/-/issues/22
I think it would make sense to separate data loading and annotation loading from the `database` object and put the functionality in `BioFile`s.
This effort would also be aligned with our idea of samples in bob.pipelines. Currently I have this:
```python
class BioFile(bob.db.base.File, _ReprMixin):
"""
A simple base class that defines basic properties of File object for the use
in verification experiments
Attributes
----------
client_id : str or int
The id of the client this file belongs to.
Its type depends on your implementation.
If you use an SQL database, this should be an SQL type like Integer or
String.
path : object
see :py:class:`bob.db.base.File` constructor
file_id : object
see :py:class:`bob.db.base.File` constructor
original_directory : str or None
The path to the original directory of the file
original_extension : str or None
The extension of the original files. This attribute is deprecated.
Please try to include the extension in the ``path`` attribute
annotation_directory : str or None
The path to the directory of the annotations
annotation_extension : str or None
The extension of annotation files. Default is ``.json``
annotation_type : str or None
The type of the annotation file, see
:any:`bob.db.base.annotations.read_annotation_file`. Default is
``json``.
"""
def __init__(
self,
client_id,
path,
file_id=None,
original_directory=None,
original_extension=None,
annotation_directory=None,
annotation_extension=None,
annotation_type=None,
**kwargs,
):
super(BioFile, self).__init__(path, file_id, **kwargs)
# just copy the information
self.client_id = client_id
"""The id of the client, to which this file belongs to."""
self.original_directory = original_directory
self.original_extension = original_extension
self.annotation_directory = annotation_directory
self.annotation_extension = annotation_extension or ".json"
self.annotation_type = annotation_type or "json"
def load(self):
"""Loads the data at the specified location and using the given extension.
Override it if you need to load differently.
Returns
-------
object
The loaded data (normally :py:class:`numpy.ndarray`).
"""
# get the path
path = self.make_path(
self.original_directory or "", self.original_extension or ""
)
return bob.io.base.load(path)
@property
def annotations(self):
path = self.make_path(self.annotation_directory or "", self.annotation_extension or "")
return read_annotation_file(path, annotation_type=self.annotation_type)
```
which requires a refactoring of our high-level db interfaces (we will not touch low-level db interfaces).
What do you think?
Of course, the load and annotations methods can be overridden per db.Bob 9.0.0Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/59Invalid syntax in bootstrap.py2020-10-20T08:30:46ZSamuel GAISTInvalid syntax in bootstrap.pyCurrently [line 341 of boostrap.py](https://gitlab.idiap.ch/bob/bob.devtools/-/blob/master/bob/devtools/bootstrap.py#L341) which is:
`f"{'public' if public else 'private'}/{'stable' if stable else 'beta'}"`
Triggers invalid syntax on a...Currently [line 341 of boostrap.py](https://gitlab.idiap.ch/bob/bob.devtools/-/blob/master/bob/devtools/bootstrap.py#L341) which is:
`f"{'public' if public else 'private'}/{'stable' if stable else 'beta'}"`
Triggers invalid syntax on all build runs of the beat packages.
This is valid Python 3.6 code however, until all CI Linux runners are updated to Buster, it cannot be used.
The bootstrap process runs using the system Python which is currently Python 3.5 on the Linux nodes.Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/141New pipeline for biometric template protection (BTP)2021-06-02T10:22:23ZHatef OTROSHINew pipeline for biometric template protection (BTP)Hi,
After the last Bob meeting last week, I was wondering if we could develop a new pipeline for biometric template protection (BTP) schemes. For a better understanding of the concept of BTP, I have reviewed it hereunder:
- **Review to...Hi,
After the last Bob meeting last week, I was wondering if we could develop a new pipeline for biometric template protection (BTP) schemes. For a better understanding of the concept of BTP, I have reviewed it hereunder:
- **Review to Biometric Systems**
As you know, each biometric recognition system has some main parts:
1) Feature extraction,
2) System Database (to store biometric features during enrollment),
3) Matching, and Scoring.
- **Motivation to BTP:**
A very crucial concern is that if the biometric templates which are stored at the system's database are compromised, it can cause crucial challenges for the user's privacy:
- the attacker can use the unprotected templates and impersonate to hack the recognition system.
- more important: since biometric data are unique if (unprotected) biometric features are compromised, they can not be revoked! Therefore, the attacker can use the person's biometric features to attack any other biometric systems.
- **How do BTP schemes work in general?**
To explain the process in general without going into details, BTP schemes aim to generate protected templates, and then make the recognition according to the protected templates. A very simple setup can be a transformation after the feature extraction stage to generate protected templates and also new algorithms for comparing and matching.
Considering different setup of the biometric recognition systems secured with BTP schemes, it can be useful to create and develop a new pipeline in Bob for such systems, e.g., in [bob.bio.btp](https://gitlab.idiap.ch/bob/bob.bio.btp).
@vkrivokuca @tiago.pereiraHatef OTROSHIHatef OTROSHIhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/140Dask client is created by user but stopped by vanilla-biometrics2020-12-07T13:25:43ZLaurent COLBOISDask client is created by user but stopped by vanilla-biometricsHello,
Currently to use vanilla-biometrics one has to provide an already instantiated Dask client, which is closed by the vanilla-biometrics script at the end of the run.
This gives the false impression that one can instantiate a Dask cl...Hello,
Currently to use vanilla-biometrics one has to provide an already instantiated Dask client, which is closed by the vanilla-biometrics script at the end of the run.
This gives the false impression that one can instantiate a Dask client in a Python script, and then use it for several successive vanilla-biometrics experiment, which is not the case.
Should maybe the opening/closing of the Dask client be entirely handled either by the user, or by the vanilla-biometrics script ? In the latter case I guess some configuration dict for the client could be passed instead when calling vanilla-biometrics.
@ydayerhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/139Protect against paths starting with / in database filelist API2020-10-16T15:58:14ZAmir MOHAMMADIProtect against paths starting with / in database filelist APIIf the paths in the filelists of the filelist-based db interfaces start with `/` and we are checkpointing samples, there is a good chance that original samples of the database could be re-written.
We should either check for this and rais...If the paths in the filelists of the filelist-based db interfaces start with `/` and we are checkpointing samples, there is a good chance that original samples of the database could be re-written.
We should either check for this and raise an error, or fix this automatically.Bob 9.0.0https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/138Port annotators to the scikit-learn transformers API2020-12-16T12:01:28ZAmir MOHAMMADIPort annotators to the scikit-learn transformers APIOur annotators are very simple like preprocessors, I think they would also benefit from becoming scikit-learn transformers, particularly allowing batch processing.Our annotators are very simple like preprocessors, I think they would also benefit from becoming scikit-learn transformers, particularly allowing batch processing.Bob 9.0.0https://gitlab.idiap.ch/bob/bob.ip.tensorflow_extractor/-/issues/11Port to tensorflow 22021-03-16T17:22:28ZAmir MOHAMMADIPort to tensorflow 2We need to port this package to tensorflow 2 and remove unused parts.We need to port this package to tensorflow 2 and remove unused parts.Bob 9.0.0https://gitlab.idiap.ch/bob/bob.db.swan/-/issues/4Follow-up from "[bob9] Rewired imports from bob.bio.* to bob.bio.*_legacy tha...2022-05-16T14:42:55ZAmir MOHAMMADIFollow-up from "[bob9] Rewired imports from bob.bio.* to bob.bio.*_legacy that are in bob.pad.base"The following discussion from !5 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.db.swan/-/merge_requests/5#note_56377): (+1 comment)
> wasn't this API was supposed to stay in bob.bio....The following discussion from !5 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.db.swan/-/merge_requests/5#note_56377): (+1 comment)
> wasn't this API was supposed to stay in bob.bio.base?Bob 9.0.0Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/137Follow-up from "Correct the chain loading and click implementation"2021-10-29T15:34:56ZAmir MOHAMMADIFollow-up from "Correct the chain loading and click implementation"The following discussion from !201 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.bio.base/-/merge_requests/201#note_56304): (+2 comments)
> @tiago.pereira As far as I remember this ...The following discussion from !201 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.bio.base/-/merge_requests/201#note_56304): (+2 comments)
> @tiago.pereira As far as I remember this function was not modifying objects in place, was it?Bob 9.0.0Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/docs/-/issues/9Follow-up from "[archive] Archiving bob.pad.vein [skip-ci]"2020-12-18T08:28:31ZAmir MOHAMMADIFollow-up from "[archive] Archiving bob.pad.vein [skip-ci]"The following discussion from !19 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/docs/-/merge_requests/19#note_56282):
> I am sure there are more places where bob.pad.vein is referred.The following discussion from !19 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/docs/-/merge_requests/19#note_56282):
> I am sure there are more places where bob.pad.vein is referred.Bob 9.0.0Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.vein/-/issues/22PC feature extractor2020-11-03T16:03:18ZHatef OTROSHIPC feature extractorHi there,
I tried to use PC feature extractor, but the code is not working for me. In particular, there is a function `ut_gauss()` which is used but it seems it is not been defined or imported. See for example [L46](https://gitlab.idiap...Hi there,
I tried to use PC feature extractor, but the code is not working for me. In particular, there is a function `ut_gauss()` which is used but it seems it is not been defined or imported. See for example [L46](https://gitlab.idiap.ch/bob/bob.bio.vein/-/blob/master/bob/bio/vein/extractor/PrincipalCurvature.py#L46) or [L47](https://gitlab.idiap.ch/bob/bob.bio.vein/-/blob/master/bob/bio/vein/extractor/PrincipalCurvature.py#L47) . I was wondering if anyone can has any experience with it and can help.
Best,
Hatefhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/136resources.py as CLI command2021-06-16T13:54:52ZTiago de Freitas Pereiraresources.py as CLI commandHi,
The `resources.py` is a very usesul script and we need to add it in our `bob bio` CLI "umbrella" .
Furthermore, we need to decide which type of resources should be kept and which should be dropped.
Today, the options available via ...Hi,
The `resources.py` is a very usesul script and we need to add it in our `bob bio` CLI "umbrella" .
Furthermore, we need to decide which type of resources should be kept and which should be dropped.
Today, the options available via `-t` are:
- d,database,
- p,preprocessor,
- e,extractor,
- a,algorithm,
- g,grid,
- c,config,
- an,annotator,
- b,baseline
I think now we should have something like:
- d,database,
- t,transformer,
- a,biometric_algorithm,
- d,dask_client,
- c,config,
- an,annotator,
- b,baseline
ping @ydayerBob 9.0.0