bob.pad.base issueshttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues2023-01-26T17:09:17Zhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/44Switch to new CI/CD configuration2023-01-26T17:09:17ZYannick DAYERSwitch to new CI/CD configurationWe need to adapt this package to the new CI/CD and package format using citools:
- [x] Modify `pyproject.toml`:
- [x] Add information from `setup.py`,
- [x] Add version from `version.txt`,
- [x] Add requirements from `requir...We need to adapt this package to the new CI/CD and package format using citools:
- [x] Modify `pyproject.toml`:
- [x] Add information from `setup.py`,
- [x] Add version from `version.txt`,
- [x] Add requirements from `requirements.txt` and `conda/meta.yaml`,
- [x] Empty `setup.py`:
- Leave the call to `setup()` for compatibility,
- [x] Remove `version.txt`,
- [x] Remove `requirements.txt`,
- [x] Modify `conda/meta.yaml`,
- [x] Import data from `pyproject.toml` (`name`, `version`, ...),
- [x] Add the `source.path` field with value `..`,
- [x] Add the `build.noarch` field with value `python`,
- [x] Edit the `build.script` to only contain `"{{ PYTHON }} -m pip install {{ SRC_DIR }} -vv"`,
- [x] Remove test and documentation commands and comments,
- [x] Modify `.gitlab-ci.yml` to point to citools' `python.yml`,
- Use the fields format instead of the URL,
- [x] Move files to follow the `src` layout:
- [x] the whole `bob` folder to `src/bob/`,
- [x] all the tests in `tests/`,
- [x] the test data files in `tests/data`,
- [x] Edit the tests to load the data correctly, either with `os.path.join(os.path.basename(__file__), "data/xxx.txt")` or `pkg_resources.resource_filename(__name__, "data/xxx.txt")`,
- [x] Activate the `packages` option in `settings -> general -> visibility` in the Gitlab project,
- [x] Edit the latest doc badges to point to the `sphinx` directory in `doc/[...]/master`:
- [x] in README.md,
- [x] in the GitLab project settings,
- [x] Edit the coverage badges to point to the doc's coverage directory:
- [x] in README.md,
- [x] in the GitLab project settings,
- [x] Ensure the CI pipeline passes.
You can look at [bob.learn.em](https://gitlab.idiap.ch/bob/bob.learn.em) for an example of a ported package.Roadmap to the major version of Bob 12André MAYORAZAndré MAYORAZhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/37Follow-up from "[dask] Make vanilla-pad work properlly with dask"2022-06-02T15:48:19ZAmir MOHAMMADIFollow-up from "[dask] Make vanilla-pad work properlly with dask"The following discussion from !81 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.base/-/merge_requests/81#note_59236):
> This should be `ToDaskBag` no? Anyhow I prefer if this was...The following discussion from !81 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.base/-/merge_requests/81#note_59236):
> This should be `ToDaskBag` no? Anyhow I prefer if this was actually a click option.Bob 9.0.0Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/15PadDatabase.all_files() calls for all groups2022-06-02T15:16:20ZAmir MOHAMMADIPadDatabase.all_files() calls for all groupsSee here: https://gitlab.idiap.ch/bob/bob.pad.base/blob/1475c8ea7ebec7243b4f6d6fdcaadd8d21730a43/bob/pad/base/database/database.py#L133
Some databases may not have all the groups available. Maybe it's better to pass `groups=None` as def...See here: https://gitlab.idiap.ch/bob/bob.pad.base/blob/1475c8ea7ebec7243b4f6d6fdcaadd8d21730a43/bob/pad/base/database/database.py#L133
Some databases may not have all the groups available. Maybe it's better to pass `groups=None` as default.https://gitlab.idiap.ch/bob/bob.pad.base/-/issues/39Scoring when using `VideoWrapper`2022-06-02T08:42:11ZAnjith GEORGEanjith.george@idiap.chScoring when using `VideoWrapper`Is frame-wise scoring already implemented, when using video samples?Is frame-wise scoring already implemented, when using video samples?https://gitlab.idiap.ch/bob/bob.pad.base/-/issues/43The documentation of the file list database is outdated2022-05-04T13:26:04ZTiago de Freitas PereiraThe documentation of the file list database is outdatedDuring the workshop, we spotted the documentation of the file list database interface (https://www.idiap.ch/software/bob/docs/bob/bob.pad.base/master/vanilla_pad_features.html) is outdated.
It doesn't match with what is currently implem...During the workshop, we spotted the documentation of the file list database interface (https://www.idiap.ch/software/bob/docs/bob/bob.pad.base/master/vanilla_pad_features.html) is outdated.
It doesn't match with what is currently implemented.
ping @ydayer @amohammadiYannick DAYERYannick DAYERhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/42NIghtlies failing because of this one2022-04-12T07:39:58ZTiago de Freitas PereiraNIghtlies failing because of this onehttps://gitlab.idiap.ch/bob/nightlies/-/jobs/264177
It seems a sphinx error.https://gitlab.idiap.ch/bob/nightlies/-/jobs/264177
It seems a sphinx error.https://gitlab.idiap.ch/bob/bob.pad.base/-/issues/41Drop gridtk dependency2022-03-24T14:45:45ZAmir MOHAMMADIDrop gridtk dependencyThe Great DeprecationAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/40Refactor vanilla pad script as reusable functions2022-03-03T17:24:16ZAmir MOHAMMADIRefactor vanilla pad script as reusable functionsAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/36One-Shot vulnerability analysis2021-06-16T09:05:39ZTiago de Freitas PereiraOne-Shot vulnerability analysisHi,
Today the workflow to do vulnerability analysis is:
1. To have a database with two protocols, one licit (zero-effort impostors vs bonafides) and one called spoof (presentation attacks vs bonafides).
2. run `bob bio pipelines vanill...Hi,
Today the workflow to do vulnerability analysis is:
1. To have a database with two protocols, one licit (zero-effort impostors vs bonafides) and one called spoof (presentation attacks vs bonafides).
2. run `bob bio pipelines vanilla-biometrics licit....`
3. run `bob bio pipelines vanilla-biometrics spoof....`
4. run `bob pad vulnerability .... {licit,spoof}/scores-{dev,eval}`
I understand the reasons why this was made like this, but now with `bob bio pipelines vanilla-biometrics --write-metadata ....` we can have score files where metadata is available:
```
probe_key,probe_path,probe_reference_id,bio_ref_path,bio_ref_reference_id,is_bonafide,score
devel/real/client003_session01_webcam_authenticate_adverse_1,devel/real/client003_session01_webcam_authenticate_adverse_1,3,3,3,1,0.9919710755348206
```
Therefore, we can afford to have one protocol containing both `zero-effort impostors` and `presentation attack` probes, and the job of the tools inside of `bob pad vulnerability` would take care of selecting these two types of probes and do the correct analysis.
I think this is wiser.
What do you think @amohammadi @ydayer?
ThanksBob 9.0.0Yannick DAYERYannick DAYERhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/26Several issues with vuln commands2021-05-26T11:53:07ZAmir MOHAMMADISeveral issues with vuln commands* [ ] vuln must be renamed to vulnerability
* [ ] `bin/bob vuln epsc vuln_scores/{licit,spoof}/scores-{dev,eval}` 's output is just a flat line.
* [ ] `vuln hist` examples are outdated.
* [ ] As requested in bob.measure#38, how can I...* [ ] vuln must be renamed to vulnerability
* [ ] `bin/bob vuln epsc vuln_scores/{licit,spoof}/scores-{dev,eval}` 's output is just a flat line.
* [ ] `vuln hist` examples are outdated.
* [ ] As requested in bob.measure#38, how can I produce the following figures: [EPSC_IAPMR_w-cnn-motion-fusion.pdf](/uploads/d9a883e82a19230704fe8db5926487fc/EPSC_IAPMR_w-cnn-motion-fusion.pdf) [EPSC_HTER_w-cnn-motion-fusion.pdf](/uploads/6c8740aecc1d34aed99e7cf17fa77e2b/EPSC_HTER_w-cnn-motion-fusion.pdf)
* [ ] I don't think it's possible with `bob vuln epsc` command to get fig6 or fig9 of this paper: https://publidiap.idiap.ch/downloads//papers/2014/Chingovska_IEEETIFS_2014.pdfAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/27Problem importing `evaluate.py`2021-03-26T09:48:58ZManuel Günthersiebenkopf@googlemail.comProblem importing `evaluate.py`I am not sure if this is a real bug or if I do not understand some implicitly happening things with the new way of handling the evaluation via `bob pad ...`.
As reported in https://groups.google.com/d/msg/bob-devel/5KpSh0SId34/wGa6MEwoA...I am not sure if this is a real bug or if I do not understand some implicitly happening things with the new way of handling the evaluation via `bob pad ...`.
As reported in https://groups.google.com/d/msg/bob-devel/5KpSh0SId34/wGa6MEwoAQAJ
there seems to be an issue with importing things in: https://gitlab.idiap.ch/bob/bob.pad.base/blob/f322e5d09d4844a0abf2ebb7acf24f06ea31eb68/bob/pad/base/script/evaluate.py#L8
I cannot see any of these imports being in the same directory as the `evaluate.py`, so I don't think that importing `evaluate.py` would work in any circumstance.Bob 9.0.0Yannick DAYERYannick DAYERhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/38Nightlies failing because of this one2021-02-15T12:58:52ZTiago de Freitas PereiraNightlies failing because of this oneHey @ydayer,
It's a sphinx warning, check:
https://gitlab.idiap.ch/bob/nightlies/-/jobs/223557
Do you mind having a look on this?
ThanksHey @ydayer,
It's a sphinx warning, check:
https://gitlab.idiap.ch/bob/nightlies/-/jobs/223557
Do you mind having a look on this?
Thankshttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/11doc/experiments.rst points to deprecated docs location2020-12-09T14:07:44ZJaden DIEFENBAUGHdoc/experiments.rst points to deprecated docs locationSince `pythonhosted` is deprecated, we've moved the public documentation to be hosted by idiap.
Line 139 of `doc/experiments.rst` needs to be updated to reflect this change:
```
bob.pad.base/doc/experiments.rst
139:Please refer to the `...Since `pythonhosted` is deprecated, we've moved the public documentation to be hosted by idiap.
Line 139 of `doc/experiments.rst` needs to be updated to reflect this change:
```
bob.pad.base/doc/experiments.rst
139:Please refer to the `GridTK documentation <http://pythonhosted.org/gridtk>`_ for more details on how to use the Job Manager ``./bin/jman``.
```
The various docs versions available for `gridtk` can be found at https://www.idiap.ch/software/bob/docs/bob/gridtk/.https://gitlab.idiap.ch/bob/bob.pad.base/-/issues/35Follow-up from "Dask pipelines Improvements"2020-12-09T10:24:37ZTiago de Freitas PereiraFollow-up from "Dask pipelines Improvements"The following discussion from !78 should be addressed:
- [ ] @tiago.pereira started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.base/-/merge_requests/78#note_59143):
> Hi,
>
> Would be nice to have this functionali...The following discussion from !78 should be addressed:
- [ ] @tiago.pereira started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.base/-/merge_requests/78#note_59143):
> Hi,
>
> Would be nice to have this functionality on `bob.pipelines`
Would be nice to have a functionality that saves the pipeline steps in a `.txt` file for the record.https://gitlab.idiap.ch/bob/bob.pad.base/-/issues/13config files to spoof.py are loaded through `bob.bio.config` entry points2020-12-07T18:19:44ZAmir MOHAMMADIconfig files to spoof.py are loaded through `bob.bio.config` entry pointsSee how entry points are named `bob.bio.config` in https://gitlab.idiap.ch/bob/bob.pad.face/blob/056bb2bbabec94e15d17e2887fde878bba3e04bd/setup.py#L73
It would be better if they were called `bob.pad.config`.See how entry points are named `bob.bio.config` in https://gitlab.idiap.ch/bob/bob.pad.face/blob/056bb2bbabec94e15d17e2887fde878bba3e04bd/setup.py#L73
It would be better if they were called `bob.pad.config`.https://gitlab.idiap.ch/bob/bob.pad.base/-/issues/25The option `--preferred-package` does not change the loading behavior of `spo...2020-12-07T18:15:34ZAndré AnjosThe option `--preferred-package` does not change the loading behavior of `spoof.py`I have two resources with the same name:
```sh
./bin/resources.py --types=config | grep verafinger
+ verafinger --> bob.bio.vein.configurations.verafinger
+ verafinger --> bob.pad.vein.configurations.verafinger
`...I have two resources with the same name:
```sh
./bin/resources.py --types=config | grep verafinger
+ verafinger --> bob.bio.vein.configurations.verafinger
+ verafinger --> bob.pad.vein.configurations.verafinger
```
When executing `spoof.py`, I want to use the second one, not the first.
For some reason, if I pass the `--preferred-package=bob.pad.vein` option to `spoof.py`, then it still doesn't respect the preference and continues to load the first configuration resource instead of the second.Pavel KORSHUNOVPavel KORSHUNOVhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/16Harmonisation of classification algorithms2020-12-07T18:06:33ZGuillaume HEUSCHHarmonisation of classification algorithmsApparently, the same algorithms are implemented in both `bob.pad.face` and `bob.pad.voice`. For instance, we have `VideoLRPadAlgorithm` in face and `LogRegrAlgorithm` in voice.
I totally understand that they are a bit different (feature...Apparently, the same algorithms are implemented in both `bob.pad.face` and `bob.pad.voice`. For instance, we have `VideoLRPadAlgorithm` in face and `LogRegrAlgorithm` in voice.
I totally understand that they are a bit different (feature normalization in one case, PCA in the other for instance), but at the core, both are supposed to do Logistic Regression on some features useful for PAD.
It would then be nice to have a base class in `bob.pad.base`. (and then you're free to do whatever you want in a derived class if you need to).
The same goes for GMM ...
@pkorshunov @amohammadi @onikisins @ageorge @andre.anjos @sbhatta : what do you think ? Who's willing / available to take care of this ? (I can, starting on March 5th)
Thankshttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/32Follow-up from "Scikit wrapper"2020-10-08T11:47:12ZAmir MOHAMMADIFollow-up from "Scikit wrapper"The following discussion from !64 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.base/merge_requests/64#note_49055): (+1 comment)
> You have to use `tempfile`The following discussion from !64 should be addressed:
- [ ] @amohammadi started a [discussion](https://gitlab.idiap.ch/bob/bob.pad.base/merge_requests/64#note_49055): (+1 comment)
> You have to use `tempfile`Bob 9.0.0Anjith GEORGEanjith.george@idiap.chAnjith GEORGEanjith.george@idiap.chhttps://gitlab.idiap.ch/bob/bob.pad.base/-/issues/34TEMPORARY Detach from bob.bio.base2020-10-08T11:42:46ZTiago de Freitas PereiraTEMPORARY Detach from bob.bio.baseHi guys,
We are about to have a beta release of `bob.bio.base` and `bob.bio.face`.
Thanks to @ydayer, we'll have a very nice user-guide for both very soon.
The future `bob.bio.base` is very different from the current one (I'll let you ...Hi guys,
We are about to have a beta release of `bob.bio.base` and `bob.bio.face`.
Thanks to @ydayer, we'll have a very nice user-guide for both very soon.
The future `bob.bio.base` is very different from the current one (I'll let you dig here https://gitlab.idiap.ch/bob/bob.bio.base/-/tree/dask-pipelines and here https://gitlab.idiap.ch/bob/bob.pipelines) and this will impact a lot the current version of this package. That's why this issue.
Until we have this package ported to use `bob.pipelines`, I would like to move the content from the current `bob.bio.base` to a module in this package, hence, we can have a beta version of the new `bob.bio.base` without breaking this one.
What do you think?Bob 9.0.0https://gitlab.idiap.ch/bob/bob.pad.base/-/issues/33ERROR: Failure: TypeError (Can't instantiate abstract class TestDatabase with...2020-04-02T15:33:52ZAndré AnjosERROR: Failure: TypeError (Can't instantiate abstract class TestDatabase with abstract methods annotations)```
======================================================================
ERROR: Failure: TypeError (Can't instantiate abstract class TestDatabase with abstract methods annotations)
-----------------------------------------------------...```
======================================================================
ERROR: Failure: TypeError (Can't instantiate abstract class TestDatabase with abstract methods annotations)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/scratch/builds/bob/bob.nightlies/miniconda/conda-bld/bob.pad.base_1585423863782/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
raise self.exc_val.with_traceback(self.tb)
File "/scratch/builds/bob/bob.nightlies/miniconda/conda-bld/bob.pad.base_1585423863782/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.6/site-packages/nose/loader.py", line 522, in makeTest
return self._makeTest(obj, parent)
File "/scratch/builds/bob/bob.nightlies/miniconda/conda-bld/bob.pad.base_1585423863782/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.6/site-packages/nose/loader.py", line 581, in _makeTest
return MethodTestCase(obj)
File "/scratch/builds/bob/bob.nightlies/miniconda/conda-bld/bob.pad.base_1585423863782/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.6/site-packages/nose/case.py", line 345, in __init__
self.inst = self.cls()
TypeError: Can't instantiate abstract class TestDatabase with abstract methods annotations
```Amir MOHAMMADIAmir MOHAMMADI