bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2021-10-29T15:34:56Zhttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/35doctests fail with the new version of xarray2021-10-29T15:34:56ZAmir MOHAMMADIdoctests fail with the new version of xarrayWe build with `xarray 0.18.0` and doctests pass there, but when tested with `xarray 0.19.0` which is the latest in the defaults channel, the doctests fail.
Since I cannot create a doctest that works with both of them, I am suggesting to ...We build with `xarray 0.18.0` and doctests pass there, but when tested with `xarray 0.19.0` which is the latest in the defaults channel, the doctests fail.
Since I cannot create a doctest that works with both of them, I am suggesting to pin xarray till the next minor version (instead of next major version).
See: https://gitlab.idiap.ch/bob/bob.pipelines/-/jobs/243826Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/34Annoying warnings dask-jobqueue2022-05-09T14:20:33ZTiago de Freitas PereiraAnnoying warnings dask-jobqueueSince `distributed>2021.x.x` we are having some annoying warnings coming `dask_jobqueue`
```
...lib/python3.8/site-packages/dask_jobqueue/core.py:321: FutureWarning: ignoring was deprecated in version 2021.06.1 and will be removed in a ...Since `distributed>2021.x.x` we are having some annoying warnings coming `dask_jobqueue`
```
...lib/python3.8/site-packages/dask_jobqueue/core.py:321: FutureWarning: ignoring was deprecated in version 2021.06.1 and will be removed in a future release. Please use contextlib.suppress from the standard library instead.
with ignoring(RuntimeError): # deleting job when job already gone
```https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/162Follow-up from "Making Distance algorithm (enroll and scoring) more robust wh...2021-09-10T07:50:49ZTiago de Freitas PereiraFollow-up from "Making Distance algorithm (enroll and scoring) more robust while different..."Create a Wrapper on `bob.bio.base.pipelines.vanilla_biometrics.BioAlgorithm` to handle videos as input.
ping @mguenther @amohammadi
The following discussion from !264 should be addressed:
- [ ] @mguenther started a [discussion](https...Create a Wrapper on `bob.bio.base.pipelines.vanilla_biometrics.BioAlgorithm` to handle videos as input.
ping @mguenther @amohammadi
The following discussion from !264 should be addressed:
- [ ] @mguenther started a [discussion](https://gitlab.idiap.ch/bob/bob.bio.base/-/merge_requests/264#note_65532): (+4 comments)
> My idea was rather that the `bob.bio.video` Wrapper solves this issue by transforming the `Sample`s from a video into a `SampleSet`, but I am not sure how difficult that would be in the new version.https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/63failed test: bob/bio/face/test/test_baselines.py::test_afffe2021-11-22T19:49:17ZAmir MOHAMMADIfailed test: bob/bio/face/test/test_baselines.py::test_afffeThis test fails in bob/bob> and bob/nightlies>This test fails in bob/bob> and bob/nightlies>Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.video/-/issues/20Port Youtube faces2021-09-09T07:00:22ZTiago de Freitas PereiraPort Youtube facesyoutube faces need to be ported the to the new API.youtube faces need to be ported the to the new API.Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.video/-/issues/19Biometrics experiments are not automatically possible with this package2021-09-09T07:00:31ZTiago de Freitas PereiraBiometrics experiments are not automatically possible with this packageHi,
I've tried to run an experiment using Youtube face database and there's nothing binding our `VideoWrapper` with our FR baselines.
We need to:
1. create a wrapper that wraps the scikit-learn Pipeline with the Video Wrapper
2. A CL...Hi,
I've tried to run an experiment using Youtube face database and there's nothing binding our `VideoWrapper` with our FR baselines.
We need to:
1. create a wrapper that wraps the scikit-learn Pipeline with the Video Wrapper
2. A CLI command that allow us to use any baseline with video databases.
ping @mguenther @xzhangTiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/62[SCFace] Fix channel metadata in `listing.csv`2021-08-26T13:02:59ZLaurent COLBOIS[SCFace] Fix channel metadata in `listing.csv`For myself. In the CSV protocols, cameras 6, 7 have channel `RGB` assigned to them, where it should be `IR`.
This is not dramatic as this metadata is not used in the pipelines, however it should be fixed for consistency.
Moreover, it can...For myself. In the CSV protocols, cameras 6, 7 have channel `RGB` assigned to them, where it should be `IR`.
This is not dramatic as this metadata is not used in the pipelines, however it should be fixed for consistency.
Moreover, it can lead to mistakes when designing new protocols using the `listing.csv`.Laurent COLBOISLaurent COLBOIShttps://gitlab.idiap.ch/bob/bob.paper.8years/-/issues/1bob 9 - Databases missing2021-10-29T15:34:57ZTiago de Freitas Pereirabob 9 - Databases missingJust a note on which databases are missing to be ported on bob9 for continuing this work:
- [x] Arface
- [x] MultiPIE
- [x] SCFACE
- [x] CASPEAL
- [X] FRGC
- [X] GBU
- [x] LFWJust a note on which databases are missing to be ported on bob9 for continuing this work:
- [x] Arface
- [x] MultiPIE
- [x] SCFACE
- [x] CASPEAL
- [X] FRGC
- [X] GBU
- [x] LFWhttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/33Breakdown samplesets2021-10-29T15:34:56ZTiago de Freitas PereiraBreakdown samplesetsWe should have a function on `bob.pipelines` where it takes as input a `SampleSet` with `N` samples and outputs `N` `SampleSets` with 1 `Sample` each.
ping @hotroshiWe should have a function on `bob.pipelines` where it takes as input a `SampleSet` with `N` samples and outputs `N` `SampleSets` with 1 `Sample` each.
ping @hotroshihttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/161Implement a hash_fn mechanism implemented on bob.pipelines in the BiometricAl...2021-10-29T15:34:57ZTiago de Freitas PereiraImplement a hash_fn mechanism implemented on bob.pipelines in the BiometricAlgorithmThe IJB-C test2 protocol has more than 100k biometric references and we have issues in check-pointing them in our file system.
A solution would be to extend what we've done on bob.pipelines --> https://gitlab.idiap.ch/bob/bob.pipelines/...The IJB-C test2 protocol has more than 100k biometric references and we have issues in check-pointing them in our file system.
A solution would be to extend what we've done on bob.pipelines --> https://gitlab.idiap.ch/bob/bob.pipelines/-/issues/25Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/160Databases with mutiple file extension (e.g. FRGC).2021-08-13T13:57:35ZLaurent COLBOISDatabases with mutiple file extension (e.g. FRGC).Hello,
In the current CSV-based implementation of database wrappers, we specify the extension of the files to load as an argument of the sample loader.
This poses problem for example in the particular case of [bob.bio.face.database.FRGC...Hello,
In the current CSV-based implementation of database wrappers, we specify the extension of the files to load as an argument of the sample loader.
This poses problem for example in the particular case of [bob.bio.face.database.FRGC](https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/master/bob/bio/face/database/frgc.py#L41) which has some images stored as `.JPG` while some others are stored as `.jpg`. Currently trying to load the latter ones raises an error, as the loader looks only for a `.JPG` extensions.
I think the most straightforward fix would be for the sample loader to accept a list of valid extensions and try all of them at loading time. What do you think ?
Also, I wonder if this type of situation is very niche (i.e. I will implement a custom sample loader just for FRGC), or if it would make sense to update the default CSVToSampleLoaderBiometrics to generally handle this type of case ?
Another case were it could be useful is to implement some cross-database evaluation protocols (e.g. samples from database A as models and samples from database B as probes), where we could have different extensions as well. I had to do this kind of evaluation in the past when comparing FFHQ against Syn-Multi-PIE.
ping @tiago.pereiraLaurent COLBOISLaurent COLBOIShttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/61IJB-C protocols outdated and incomplete2021-10-29T15:34:57ZManuel Günthersiebenkopf@googlemail.comIJB-C protocols outdated and incompleteWhen downloading the original data from IJB, the structure of the protocol files have changed. When I run an `ls -R IJB-C/protocols/` in the main directory of the downloaded and extracted `IJB` folder, I obtain:
```
IJB-C/protocols/: ...When downloading the original data from IJB, the structure of the protocol files have changed. When I run an `ls -R IJB-C/protocols/` in the main directory of the downloaded and extracted `IJB` folder, I obtain:
```
IJB-C/protocols/:
archive ijbc_metadata_with_age.csv readme.txt test1 test10 test11 test2 test4 test6 test7 test9
IJB-C/protocols/archive:
clustering ijbc_11_covariate_probe_reference.csv ijbc_1N_gallery_G1.csv ijbc_1N_probe_mixed.csv ijbc_face_detection_ground_truth.csv ijbc_wild_test10.csv ijbc_wild_test9.csv
ijbc_11_covariate_matches.csv ijbc_11_G1_G2_matches.csv ijbc_1N_gallery_G2.csv ijbc_face_detection.csv ijbc_metadata.csv ijbc_wild_test11.csv
IJB-C/protocols/archive/clustering:
ijbc_clustering_1021_hint_10000.csv ijbc_clustering_1839_hint_10000.csv ijbc_clustering_32_hint_100.csv ijbc_clustering_3531_hint_10000.csv ijbc_clustering_ground_truth.csv
IJB-C/protocols/test1:
enroll_templates.csv match.csv README.txt verif_templates.csv
IJB-C/protocols/test10:
gallery_G1.csv gallery_G2.csv probes.csv README.txt
IJB-C/protocols/test11:
gallery_G1.csv gallery_G2.csv probes.csv README.txt
IJB-C/protocols/test2:
enroll_templates.csv match.csv README.txt verif_templates.csv
IJB-C/protocols/test4:
gallery_G1.csv gallery_G2.csv probes.csv README.txt
IJB-C/protocols/test6:
face_detection.csv face_detection_ground_truth.csv README.txt
IJB-C/protocols/test7:
clustering_1021_hint_10000.csv clustering_1839_hint_10000.csv clustering_32_hint_100.csv clustering_3531_hint_10000.csv clustering_ground_truth.csv README.txt
IJB-C/protocols/test9:
gallery_G1.csv gallery_G2.csv probes.csv README.txt
```
The currently implemented protocol files are located in `IJB-C/protocols/archive`. The new files have a much easier structure.
Currently, only the `1:1` protocol is implemented, which would correspond to the `IJB-C/protocols/test1` folder. However, the database also provides many more protocols, for example, open-set identification protocols defined in `IJB-C/protocols/test4`. An implementation of these protocols would be great, and should be straightforward with the new protocol files.https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/159score_reduction_algorithm in BioAlgorithm cannot be changed2021-10-29T15:34:56ZManuel Günthersiebenkopf@googlemail.comscore_reduction_algorithm in BioAlgorithm cannot be changedWhile there is a parameter called `score_reduction_algorithm` in the `BioAlgorithm` class, this parameter is not taken into account:
https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/c746d5f04472ac1ab838865c346144e352a9b295/bob/bio/base/pi...While there is a parameter called `score_reduction_algorithm` in the `BioAlgorithm` class, this parameter is not taken into account:
https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/c746d5f04472ac1ab838865c346144e352a9b295/bob/bio/base/pipelines/vanilla_biometrics/abstract_classes.py#L38Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/158DIR curve should be updated to PNIR vs. FPIR curve2021-10-29T15:34:57ZManuel Günthersiebenkopf@googlemail.comDIR curve should be updated to PNIR vs. FPIR curveAccording to the new standards, the Detection and Identification Rate curve (DIR) has been renamed by the ISO: https://www.iso.org/obp/ui/fr/#iso:std:iso-iec:19795:-1:ed-2:v1:en
The two axes are now called False Positive Identification R...According to the new standards, the Detection and Identification Rate curve (DIR) has been renamed by the ISO: https://www.iso.org/obp/ui/fr/#iso:std:iso-iec:19795:-1:ed-2:v1:en
The two axes are now called False Positive Identification Rate (FPIR) and False Negative Identification rate (FNIR) = 1- True Positive Identification Rate (TPIR). I do not really know how the curve is now called -- the according part of the ISO document is only available after payment.
So, the first (and easiest) task is to rename the axes to FPIR and TPIR. Second, we should see if our implementation strictly follows the definition (which I believe is the case). Finally, sometimes the curve is plotted with logarithmical y-axis (the x-axis is always log), which only works if we plot FNIR instead of TPIR. It might be good to add both possibilities as flags.https://gitlab.idiap.ch/bob/bob.measure/-/issues/65Error margins on cross validation protocols2021-08-02T08:10:25ZAmir MOHAMMADIError margins on cross validation protocolsMany experiments come with K-Fold cross validation protocols.
Currently, we only have support for displaying the numerical metrics using the `multi-metrics` command.
However, support for plotting ROC and DET curves with proper error marg...Many experiments come with K-Fold cross validation protocols.
Currently, we only have support for displaying the numerical metrics using the `multi-metrics` command.
However, support for plotting ROC and DET curves with proper error margins are missing.
Scikit-learn has an example for ROC with +-1 std in https://scikit-learn.org/stable/auto_examples/model_selection/plot_roc_crossval.html
but this might not be the best approach.
Moreover, in our multi-metrics, we also use mean and std to show errors.https://gitlab.idiap.ch/bob/bob/-/issues/269Bob 10.0.0 release2021-11-04T14:03:50ZTiago de Freitas PereiraBob 10.0.0 releaseWe have had several modifications since the last release. Can we have a new minor release of this one?
We would need to release `bob.bio.base` too (if not the whole bob).
ThanksWe have had several modifications since the last release. Can we have a new minor release of this one?
We would need to release `bob.bio.base` too (if not the whole bob).
Thankshttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/78The README badge for the documentation is not updated anymore during a release2021-10-29T15:34:56ZAndré AnjosThe README badge for the documentation is not updated anymore during a releaseThis needs fixing as the PyPI package badges are pointing to the "master" tip documentation.This needs fixing as the PyPI package badges are pointing to the "master" tip documentation.André AnjosAndré Anjoshttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/77Using .* with relational operator is superfluous and deprecated and will be r...2021-10-01T13:45:09ZAmir MOHAMMADIUsing .* with relational operator is superfluous and deprecated and will be removed in a future version of conda.We're getting warnings like:
```
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 1.*, but conda is ignoring the .* and treating it as 1
Using .* with relatio...We're getting warnings like:
```
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 1.*, but conda is ignoring the .* and treating it as 1
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 2.*, but conda is ignoring the .* and treating it as 2
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 3.*, but conda is ignoring the .* and treating it as 3
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 2.*, but conda is ignoring the .* and treating it as 2
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 4.*, but conda is ignoring the .* and treating it as 4
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 0.23.*, but conda is ignoring the .* and treating it as 0.23
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 3.*, but conda is ignoring the .* and treating it as 3
Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 3.6.*, but conda is ignoring the .* and treating it as 3.6
```
e.g. https://gitlab.idiap.ch/bob/nightlies/-/jobs/237973
The `conda/meta.yaml` recipes of packages need to be updated and probably some other places.https://gitlab.idiap.ch/bob/bob.measure/-/issues/64Partially missing documentation2021-10-29T15:34:56ZLaurent COLBOISPartially missing documentationHi, I noticed the docstrings of many `bob.measure` functions disappeared from the doc between Bob 8 and now, e.g.:
Bob 8
![image](/uploads/30049b39551cd51a5015b20548ee9fd3/image.png)
Current
![image](/uploads/a65659b231b22762783138c1fe...Hi, I noticed the docstrings of many `bob.measure` functions disappeared from the doc between Bob 8 and now, e.g.:
Bob 8
![image](/uploads/30049b39551cd51a5015b20548ee9fd3/image.png)
Current
![image](/uploads/a65659b231b22762783138c1fe541b7e/image.png)
I am pretty suspicious it's linked to the functions that have been wrapped with `@array_jit`, I am guessing the docstring is not transmitted after applying the decorator.
ping @amohammadiAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/issues/60Add the possibility to pass a pre-loaded model into embedding base classes.2022-01-19T15:48:19ZManuel Günthersiebenkopf@googlemail.comAdd the possibility to pass a pre-loaded model into embedding base classes.In some cases, deep learning models are instantiated inside of other packages, and it is not possible to pass the paths of the model to be loaded inside of the classes. For these cases, we should add a `model` parameter to the base class...In some cases, deep learning models are instantiated inside of other packages, and it is not possible to pass the paths of the model to be loaded inside of the classes. For these cases, we should add a `model` parameter to the base class constructors, and simply store the models internally, i.e.:
https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/5c0811270bc6129df64cc3a0ef10c35c64010b65/bob/bio/face/embeddings/pytorch.py#L42
https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/5c0811270bc6129df64cc3a0ef10c35c64010b65/bob/bio/face/embeddings/mxnet.py#L33
https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/5c0811270bc6129df64cc3a0ef10c35c64010b65/bob/bio/face/embeddings/tensorflow.py#L53
As the `transform` function always checks if the model is loaded, no further adaptations need to be done. Test code should be implemented, though.Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.com