bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2020-03-10T16:10:40Zhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/132`numpy.testing.decorators.setastest` is no longer available in the latest `nu...2020-03-10T16:10:40ZManuel Günthersiebenkopf@googlemail.com`numpy.testing.decorators.setastest` is no longer available in the latest `numpy 1.18`Updating to `numpy` version 1.18 breaks this package as the import https://gitlab.idiap.ch/bob/bob.bio.base/blob/33b527af1418dff1812e2613d91f55b6e8ee61c8/bob/bio/base/database/database.py#L8 fails.
Workarounds:
1. Use `numpy` version 1....Updating to `numpy` version 1.18 breaks this package as the import https://gitlab.idiap.ch/bob/bob.bio.base/blob/33b527af1418dff1812e2613d91f55b6e8ee61c8/bob/bio/base/database/database.py#L8 fails.
Workarounds:
1. Use `numpy` version 1.17
2. Remove this import and its later use.
I have currently no solution how to replace the functionality of `numpy.testing.decorators.setastest`, though.Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/4Implement checkpointable processors2020-03-09T15:49:22ZAmir MOHAMMADIImplement checkpointable processorsCheckpointable process can be integrated with the Sample class and automaticall cache/save their results.Checkpointable process can be integrated with the Sample class and automaticall cache/save their results.https://gitlab.idiap.ch/bob/bob.pipelines/-/issues/3Dask Adaptative scheduling2020-04-17T11:45:21ZTiago de Freitas PereiraDask Adaptative schedulinghttps://distributed.dask.org/en/latest/_modules/distributed/deploy/adaptive.html
ping @andre.anjos @amohammadihttps://distributed.dask.org/en/latest/_modules/distributed/deploy/adaptive.html
ping @andre.anjos @amohammadihttps://gitlab.idiap.ch/bob/bob.paper.pad_mccnns_swirdiff/-/issues/1Things remaining to be done before public release2021-09-24T09:48:07ZGuillaume HEUSCHThings remaining to be done before public releaseHi @ageorge and @dgeissbuhler,
FYI, here is the list of things that needs to be done for the paper package before releasing it.
I tried to make it in the right sequential order:
* [x] implement proper dark frame subtraction in ``bob.i...Hi @ageorge and @dgeissbuhler,
FYI, here is the list of things that needs to be done for the paper package before releasing it.
I tried to make it in the right sequential order:
* [x] implement proper dark frame subtraction in ``bob.io.stream``
* [x] release publicly ``bob.ip.stereo``
* [x] release publicly ``bob.io.stream``
* [x] release publicly ``bob.db.hqwmca`` and ``bob.db.brsu``
* [ ] merge ``add-hqwmca`` branch of ``bob.pad.face`` (https://gitlab.idiap.ch/bob/bob.pad.face/merge_requests/101)
* [x] distribute HQ-WMCA through dataset portal (ideally at http://www.idiap.ch/dataset/hqwmca)
I assigned @dgeissbuhler to it, since most of the stuff involves 'his' packages, but I will still be following that and certainly act on some of the points in the next few weeks/months !David GEISSBUHLERDavid GEISSBUHLERhttps://gitlab.idiap.ch/bob/nightlies/-/issues/57Nighlies are failing2020-02-19T11:36:39ZTiago de Freitas PereiraNighlies are failingHey guys,
Building bob/bob fails on nightlies with that very nice and useless log trace (full of conflicts) https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/189669/raw.
This is similar to what was happening here, https://gitlab.idiap.ch...Hey guys,
Building bob/bob fails on nightlies with that very nice and useless log trace (full of conflicts) https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/189669/raw.
This is similar to what was happening here, https://gitlab.idiap.ch/bob/bob.devtools/issues/46.
Any ideas?
Batl project is suffering from the same issue.
https://gitlab.idiap.ch/batl/batl.pad.idiap/pipelines/37505
thanks
ping @ageorgehttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/51Gitlab build badges are broken in readme files2020-04-30T17:35:25ZAmir MOHAMMADIGitlab build badges are broken in readme filesGitlab's badge behavior has changed. We need to update badges in all readme files and also in templates provided here.Gitlab's badge behavior has changed. We need to update badges in all readme files and also in templates provided here.https://gitlab.idiap.ch/bob/bob.devtools/-/issues/50Pipelines fail when tagging a private package2020-02-17T17:11:09ZAmir MOHAMMADIPipelines fail when tagging a private packageSee https://gitlab.idiap.ch/bob/bob.db.hkpu/-/jobs/188846See https://gitlab.idiap.ch/bob/bob.db.hkpu/-/jobs/188846https://gitlab.idiap.ch/bob/bob.learn.linear/-/issues/13Shall we archive this package?2022-02-14T15:24:44ZTiago de Freitas PereiraShall we archive this package?Hi @bob,
I'm moving forward with the redefinition of our pipelines using Dask (https://gitlab.idiap.ch/bob/bob.pipelines and https://gitlab.idiap.ch/bob/bob.bio.base/merge_requests/180) .
It's a good opportunity to think which packages...Hi @bob,
I'm moving forward with the redefinition of our pipelines using Dask (https://gitlab.idiap.ch/bob/bob.pipelines and https://gitlab.idiap.ch/bob/bob.bio.base/merge_requests/180) .
It's a good opportunity to think which packages worth to keep and which not; think about our short time for the maintenance of those packages and in the amount of people interested in doing so
I would like to open the discussion if we should keep this package alive.
In short, this package has the following Linear Trainers:
- bob.learn.linear.PCATrainer: Stable implementation in https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html
- bob.learn.linear.FisherLDATrainer: Stable implementation in https://scikit-learn.org/0.16/modules/generated/sklearn.lda.LDA.html
- bob.learn.linear.WCCNTrainer: With a quick search, didn't find a stable implementation of it
- bob.learn.linear.WhiteningTrainer: With a quick search, didn't find a stable implementation of it, BUT it's really simple to have a python implementation of it if necessary
- bob.learn.linear.CGLogRegTrainer: Stable implementation in https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html **WARNING** The regularization implemented in scikit-learn is different from ours, but I think it's ok.
- bob.learn.linear.BICTrainer: With a quick search, didn't find a stable implementation of it (does anyone use this one?)
- bob.learn.linear.GFKTrainer: There's no stable implementation of this one, BUT we can archive it, no problem.
Thanks for any feedbackhttps://gitlab.idiap.ch/bob/bob.devtools/-/issues/49Automatically add bob.devtools to the output of bdt gitlab changelog2020-02-18T16:44:20ZAmir MOHAMMADIAutomatically add bob.devtools to the output of bdt gitlab changelogSince successful release of packages is based on releasing bob.devtools first, it makes sense to add it to the output of changelog always.Since successful release of packages is based on releasing bob.devtools first, it makes sense to add it to the output of changelog always.Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.db.swan/-/issues/3Add Idiap only protocols2020-02-14T15:56:36ZAmir MOHAMMADIAdd Idiap only protocolsAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob/-/issues/260Job Failed #1876392020-02-13T14:15:40ZAmir MOHAMMADIJob Failed #187639Job [#187639](https://gitlab.idiap.ch/bob/bob/-/jobs/187639) failed for d18d048192ea7c68866777c8a505fdbcf883255f:
```
conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {'bob.learn.pytor...Job [#187639](https://gitlab.idiap.ch/bob/bob/-/jobs/187639) failed for d18d048192ea7c68866777c8a505fdbcf883255f:
```
conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {'bob.learn.pytorch', 'bob.bio.htface', 'bob.ip.binseg', 'bob.bio.face_ongoing'}
```Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.db.ldhf/-/issues/2Add this to bob and docs repositories2020-02-14T14:56:59ZAmir MOHAMMADIAdd this to bob and docs repositoriesAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob/-/issues/259new release2020-03-09T10:50:49ZAmir MOHAMMADInew releaseI am going to do a new release soon.
Here is a list of tasks that I think are worth tackling before the release:
* [x] Move the installation instruction to `bob/docs` which should fix #246
* [x] Update installation instructions to ta...I am going to do a new release soon.
Here is a list of tasks that I think are worth tackling before the release:
* [x] Move the installation instruction to `bob/docs` which should fix #246
* [x] Update installation instructions to talk about the archive channel
* [x] https://gitlab.idiap.ch/bob/bob.bio.video/merge_requests/40
* [x] https://gitlab.idiap.ch/bob/bob.db.swan/issues/2
* [x] https://gitlab.idiap.ch/bob/bob.db.siw/issues/1
* [x] https://gitlab.idiap.ch/bob/bob.db.ldhf/issues/2
* [x] https://gitlab.idiap.ch/bob/bob.bio.face_ongoing/merge_requests/5
* [x] bob.bio.htface mac builds, see https://gitlab.idiap.ch/bob/bob.bio.htface/commit/d970f521feaae4b99420026dfc8df58c1774aa0c
* [x] https://gitlab.idiap.ch/bob/bob/issues/260
* [x] https://gitlab.idiap.ch/bob/bob.db.swan/issues/3Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.db.swan/-/issues/2Add this package to Bob meta packages2020-02-14T14:58:21ZAmir MOHAMMADIAdd this package to Bob meta packagesbob/bob bob/docs bob/bob.nightliesbob/bob bob/docs bob/bob.nightliesAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pad.face/-/issues/35Remove dependencies on bob.ip.facelandmarks, and cafe packages2021-02-10T14:09:43ZAmir MOHAMMADIRemove dependencies on bob.ip.facelandmarks, and cafe packagesThese packages should be replaced by bob.ip.tensorflow_extractor which has an implementation of MTCNNThese packages should be replaced by bob.ip.tensorflow_extractor which has an implementation of MTCNNhttps://gitlab.idiap.ch/bob/bob.db.siw/-/issues/1Add this package to bob meta packages2020-02-14T14:58:15ZAmir MOHAMMADIAdd this package to bob meta packagesAdd this package to `bob.nightlies`, `bob/docs`, and `bob/bob` as soon as this package goes public.Add this package to `bob.nightlies`, `bob/docs`, and `bob/bob` as soon as this package goes public.Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.measure/-/issues/61absolute numbers for errors are wrong2020-02-14T16:15:23ZGuillaume HEUSCHabsolute numbers for errors are wrongHi @amohammadi,
As already pointed in the mailing-list (https://groups.google.com/forum/#!topic/bob-devel/RXsX2kgjs1M), the numbers of misclassified and total examples are wrong. Here's an illustration:
```
============== ============...Hi @amohammadi,
As already pointed in the mailing-list (https://groups.google.com/forum/#!topic/bob-devel/RXsX2kgjs1M), the numbers of misclassified and total examples are wrong. Here's an illustration:
```
============== =============== ================
.. Development Evaluation
============== =============== ================
APCER (attack) 7.7% 13.1%
APCER 7.7% 13.1%
BPCER 1.0% 9.7%
ACER 4.3% 11.4%
FTA 0.7% 0.6%
FPR 7.7% (451/1321) 13.1% (749/1571)
FNR 1.0% (13/5880) 9.7% (153/5729)
HTER 4.3% 11.4%
FAR 7.6% 13.0%
FRR 1.7% 10.3%
PRECISION 0.7 0.7
RECALL 1.0 0.9
F1_SCORE 0.8 0.8
```
When you look at FPR on Evaluation set for instance, 749/1571 * 100 = 47.1, which is different from 13.1%. Actually, the total number of examples have been swapped, since 749/5729 * 100 = 13.1 and 153/1571 * 100 = 9.7Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.pad.face/-/issues/34Issue with test set in CASIA-SURF HLDI2020-02-12T14:23:27ZAnjith GEORGEanjith.george@idiap.chIssue with test set in CASIA-SURF HLDIhttps://gitlab.idiap.ch/bob/bob.pad.face/blob/master/bob/pad/face/database/casiasurf.py#L178
'unknown' is not needed anymore right?
Also https://gitlab.idiap.ch/bob/bob.pad.face/blob/master/bob/pad/face/database/casiasurf.py#L44
the `.a...https://gitlab.idiap.ch/bob/bob.pad.face/blob/master/bob/pad/face/database/casiasurf.py#L178
'unknown' is not needed anymore right?
Also https://gitlab.idiap.ch/bob/bob.pad.face/blob/master/bob/pad/face/database/casiasurf.py#L44
the `.attack_type` labels.Guillaume HEUSCHGuillaume HEUSCHhttps://gitlab.idiap.ch/bob/bob.pipelines/-/issues/2Using scikit learn pipelines with Dask2020-03-02T14:00:48ZTiago de Freitas PereiraUsing scikit learn pipelines with DaskOpening this issue just as a note for posterity.
Today I've done an exercise using scikit-learn pipelines and dask https://ml.dask.org/compose.html
We could leverage from the scikit-api and benefit from its caching mechanism too.
You c...Opening this issue just as a note for posterity.
Today I've done an exercise using scikit-learn pipelines and dask https://ml.dask.org/compose.html
We could leverage from the scikit-api and benefit from its caching mechanism too.
You can check the small snipped below how I use it (I made an adaptor to transform our algorithms in scikit-estimators).
Two things to be observed. I couldn't use the `cache` since most of our stuff is C++ based (not picklable).
And since things are not picklable, I made a very shitty job with the adaptor in order to integrate it with Dask as you can see in code.
In order to have the instance creation of Bob objects in the Worker (like @andre.anjos is doing with the SampleLoader (probably for the same reason (there's another reason for that too))), the method `fit` creates the Bob object and returns itself.
I think the current design is cleaner. I will give up this one.
ping @amohammadi
```python
from sklearn.pipeline import Pipeline
# Local client
import dask.bag
from dask.distributed import Client, LocalCluster
import bob.bio.base
import bob.bio.face
import numpy
cache_dir = "./cache"
from sklearn.base import BaseEstimator
class Scikit2BobEstimator(BaseEstimator):
"""
Base class to adapt from bob algorithms to scikit estimators
Check here for more info:
https://scikit-learn.org/stable/modules/generated/sklearn.base.BaseEstimator.html
"""
def __init__(self, bob_object):
self.bob_class = bob_object
def fit(self, X, y, **kwargs):
self.bob_object = self.bob_class(**kwargs)
return self
def transform(self, X, **kwargs):
"""
Here `X` can be our samples where the annotations can be shipped.
"""
annotations = {"leye": (10, 10), "reye": (20, 10)}
return [self.bob_object(x, annotations=annotations) for x in X]
### Starting the client
cluster = LocalCluster(nanny=False, processes=False, n_workers=1, threads_per_worker=1)
cluster.scale_up(1)
client = Client(cluster)
####### PREPROCESSOR #########
# Using face crop
CROPPED_IMAGE_HEIGHT = 80
CROPPED_IMAGE_WIDTH = CROPPED_IMAGE_HEIGHT * 4 // 5
## eye positions for frontal images
RIGHT_EYE_POS = (CROPPED_IMAGE_HEIGHT // 5, CROPPED_IMAGE_WIDTH // 4 - 1)
LEFT_EYE_POS = (CROPPED_IMAGE_HEIGHT // 5, CROPPED_IMAGE_WIDTH // 4 * 3)
import functools
preprocessor = Scikit2BobEstimator(
functools.partial(
bob.bio.face.preprocessor.FaceCrop,
cropped_image_size=(CROPPED_IMAGE_HEIGHT, CROPPED_IMAGE_WIDTH),
cropped_positions={"leye": LEFT_EYE_POS, "reye": RIGHT_EYE_POS},
)
)
### EXTRACTOR #######
extractor = Scikit2BobEstimator(bob.bio.base.extractor.Linearize)
estimators = [("preprocess", preprocessor), ("extractor", extractor)]
#### HERE I COULD CACHE IT #####
# pipeline = Pipeline(estimators, memory=cache_dir)
pipeline = Pipeline(estimators)
X = [numpy.random.rand(3, 100, 100) for _ in range(100)]
db = dask.bag.from_sequence(X)
db = db.map_partitions(pipeline.fit_transform)
print(db.compute(scheduler=client))
client.shutdown()
```https://gitlab.idiap.ch/bob/bob.db.casiasurf/-/issues/4Database not available anymore ?2020-02-14T16:15:23ZGuillaume HEUSCHDatabase not available anymore ?Guillaume HEUSCHGuillaume HEUSCH