Tags give the ability to mark specific points in history as being important
  • v9.0.0
    Release v9.0.0

    Major Bob release. This release brings many changes and some packages have been completely re-written. The main important change is the introduction of the bob.pipelines package which allows developers to create task specific framework packages (like bob.bio.base and bob.pad.base) with ease. bob.pipelines introduces tight integration of Bob pipelines with scikit-learn's estimator API and dask API for parallelization of experiments in any computing environment: from laptops to grid engines to cloud. Moreover, bob.pipelines also introduces a simple CSV format database interface that lets you integrate your database in our pipelines in a matter of minutes; no more dealing with SQL databases and non-standard .lst formats. bob.bio and bob.pad packages are re-written to take advantage of bob.pipelines' features. bob.db packages are deprecated with this release and instead the database interfaces (using the new CSV format) are placed where they are used. For example face recognition database interfaces are implemented inside bob.bio.face. If you maintain a bob.db package, we encourage you to port to this new format. This release introduces many breaking changes. We encourage you to create a separate environment for this release and keep your old Bob installation intact until you are sure everything is working with the new release. You might also face some outdated documentation or missing documentation so we encourage you to ask as many questions as possible to ensure a smooth transition. Remember Bob is open-source and you are encouraged to submit patches.

    • bob.buildout!41 Pytest: Add support for a pytest binary on the bin/ directory. Ensures pytest and pytest-cov are available locally. - bob.buildout!41 Pytest: Add support for a pytest binary on the bin/ directory. Ensures pytest and pytest-cov are available locally.
    • bob.extension!116 bob.buildout is no longer a test dependency
    • bob.extension!117 Avoid warnings in config loading
    • bob.extension!118 Breaking change: Remove stack processors and some sphinx fixes
    • bob.extension!119 [conda recipe] Add make next to cmake dependency
    • bob.extension!120 Sphinx 3 autodoc no longer accepts autodoc_default_flags and autodoc_default_options should be used
    • bob.extension!121 Fix deprecation of module "imp": This MR fixes the deprecation of Python module imp. According to https://stackoverflow.com/questions/32175693/python-importlibs-analogue-for-imp-new-module, you have to substitute module creation by types.ModuleType.
    • bob.extension!122 [click_helper][ResourceOption] Allow exceptions when loading entry points: So far the ResourceOption class tried to load a string as entry points and would do this in a while loop. But sometimes an option may accept both objects and some special strings like the dask client which can be both "single-threaded", "threaded", and Client objects. Addition of string_exceptions allows for this kind of special cases to be implemented.
    • bob.extension!123 Read files from Tarball: Created the function find_element_in_tarball. This function opens a tarball, searches for a target file inside of it and, if it found, it returns an opened file. bob.pipelines#22
    • bob.extension!124 Implemented mechanism that downlods a file given a list of URLs [py]
    • bob.extension!125 Created the function search_file: Created the function search_file that is able to search a file either inside of a file structure or inside of a tarball
    • bob.extension!126 [download] Add a list_dir method: This method, lists the folders and files inside either a folder or a tarball It can be used to give you a hint of what is inside a folder or a tarball For example, you could query the list of protocols available in a database tarball
    • bob.extension!127 [download] allow get_file to only evaluate part of the hash: Also changes the default auto algorithm to sha256 if the hash is partial related to bob.devtoolsbob/bob.extension!210 - bob.extension!126 [download] Add a list_dir method: This method, lists the folders and files inside either a folder or a tarball It can be used to give you a hint of what is inside a folder or a tarball For example, you could query the list of protocols available in a database tarball
    • bob.extension!127 [download] allow get_file to only evaluate part of the hash: Also changes the default auto algorithm to sha256 if the hash is partial related to bob.devtools!210
    • bob.blitz!13 [conda recipe] Add make next to cmake dependency: Fixes bob/bob.blitzbob/bob.blitz#14
    • bob.blitz!14 Sphinx 3 autodoc no longer accepts autodoc_default_flags and autodoc_default_options should be used - bob.blitz!13 [conda recipe] Add make next to cmake dependency: Fixes bob.blitz#14
    • bob.blitz!14 Sphinx 3 autodoc no longer accepts autodoc_default_flags and autodoc_default_options should be used
    • bob.core!18 [conda recipe] Add make next to cmake dependency - bob.core!18 [conda recipe] Add make next to cmake dependency
    • bob.io.base!30 Removed traces of bob.io.matlab
    • bob.io.base!31 [conda recipe] Add make next to cmake dependency
    • bob.io.base!32 [vstack_features] Improve load speeds using numpy field arrays
    • bob.io.base!33 [bob.io.base.load] Raise a proper error if the file does not exist - bob.io.base!33 [bob.io.base.load] Raise a proper error if the file does not exist
    • bob.math!19 [conda recipe] Add make next to cmake dependency - bob.math!19 [conda recipe] Add make next to cmake dependency
    • bob.measure!100 Python-only version of bob.measure: This MR implements the following changes to this library, in an API backward-compatible way: 1. Minimize the number of Bob dependencies to a bare minimum. Use h5py to read data, RNGs and linear algebra from numpy. Remove requirements for bob.core, bob.io.base, bob.blitz, and most of bob.math (except for the PAVX algorithm) 2. Remove deprecated dependencies (docopt) 3. Use pytest for tests instead of nose 4. Re-implement the old C++ as a Python-only library (remove all C++ dependencies such as Boost) - bob.measure!100 Python-only version of bob.measure: This MR implements the following changes to this library, in an API backward-compatible way: 1. Minimize the number of Bob dependencies to a bare minimum. Use h5py to read data, RNGs and linear algebra from numpy. Remove requirements for bob.core, bob.io.base, bob.blitz, and most of bob.math (except for the PAVX algorithm) 2. Remove deprecated dependencies (docopt) 3. Use pytest for tests instead of nose 4. Re-implement the old C++ as a Python-only library (remove all C++ dependencies such as Boost)
    • bob.io.image!44 Allow conversion of batched images and videos to matplotlib and back: Also adds opencvbgr_to_bob and bob_to_opencvbgr convenience functions.
    • bob.io.image!45 Include copy of GifQuantizeBuffer function from giflib: From https://github.com/coin3d/simage/pull/33 giflib 5.1.9 and above removes the GifQuantizeBuffer() function used in simage_gif.c (see https://sourceforge.net/p/giflib/bugs/132/ and https://sourceforge.net/p/giflib/bugs/142/). The fix is either to remove the related check in simage_gif.c or to include a copy of the function as encouraged by giflib, due the util library not being included in installed versions of giflib (license is MIT): The undocumented and deprecated GifQuantizeBuffer() entry point has been moved to the util library to reduce libgif size and attack surface. Applications needing this function are couraged to link the util library or make their own copy.
    • bob.io.image!45 Include copy of GifQuantizeBuffer function from giflib: From https://github.com/coin3d/simage/pull/33 giflib 5.1.9 and above removes the GifQuantizeBuffer() function used in simage_gif.c (see https://sourceforge.net/p/giflib/bugs/132/ and https://sourceforge.net/p/giflib/bugs/142/). The fix is either to remove the related check in simage_gif.c or to include a copy of the function as encouraged by giflib, due the util library not being included in installed versions of giflib (license is MIT): The undocumented and deprecated GifQuantizeBuffer() entry point has been moved to the util library to reduce libgif size and attack surface. Applications needing this function are couraged to link the util library or make their own copy.* bob/bob.db.base
    • bob.db.base!43 [SQLiteBaseDatabase] Make the instances picklable
    • bob.db.base!44 [fix] Handle empty lists in check_parameters.: Closes bob.db.base#27
    • bob.db.base!44 [fix] Handle empty lists in check_parameters.: Closes bob/bob.db.basebob/bob.db.base#27
    • bob.db.base!45 [annotations] Allow reading annotations from inside a tarball - bob.db.base!45 [annotations] Allow reading annotations from inside a tarball
    • bob.io.video!20 Relaxes distortions limits for 264 codecs: Fixes bob.io.video#17 The videos don't look different but the distortions are high.
    • bob.io.video!20 Relaxes distortions limits for 264 codecs: Fixes bob/bob.io.videobob/bob.io.video#17 The videos don't look different but the distortions are high.* bob/bob.io.audio
    • bob.io.audio!8 Removed dependency with bob.io.matlab: Closes bob.io.audio#7
    • bob.io.audio!8 Removed dependency with bob.io.matlab: Closes bob/bob.io.audiobob/bob.io.audio#7* bob/bob.sp
    • bob.learn.linear!14 Removed traces of bob.io.matlab: Merging this one. Feel free to open an issue in case of problems
    • bob.learn.linear!14 Removed traces of bob.io.matlab: Merging this one. Feel free to open an issue in case of problems* bob/bob.learn.libsvm
    • bob.learn.em!39 Pickling Objects: - [ ] KMeans - [ ] JFA - [ ] PLDA
    • bob.learn.em!38 Breaking Change: Making key objects picklable: As mentioned in bob.bio.face!64 the small hacks made in bob.bio.base to handle pickled stuff is giving more headaches than it should. So, I decided to make some key objects picklable.
    • bob.learn.em!38 Breaking Change: Making key objects picklable: As mentioned in bob.bio.face!64 the small hacks made in bob.bio.base to handle pickled stuff is giving more headaches than it should. So, I decided to make some key objects picklable.* bob/bob.db.mnist
    • bob.db.atnt!12 http public links work in the CI - bob.db.atnt!12 http public links work in the CI
    • bob.ip.facedetect!11 Moving bob.learn.boosting to this package: ... also removing traces of bob.ip.draw Closes bob.ip.facedetect#8 Closes bob.learn.boosting#3
    • bob.ip.facedetect!12 [conda] Added bob.ip.flandmark artifacts: Closes bob.ip.facedetect#9
    • bob.ip.facedetect!13 Port mtcnn to Tensorflow 2: Using the TF1 model.pb
    • bob.ip.facedetect!11 Moving bob.learn.boosting to this package: ... also removing traces of bob.ip.draw Closes bob/bob.ip.facedetectbob/bob.ip.facedetect#8 Closes bob.learn.boosting#3
    • bob.ip.facedetect!12 [conda] Added bob.ip.flandmark artifacts: Closes bob/bob.ip.facedetectbob/bob.ip.facedetect#9
    • bob.ip.facedetect!14 Removed trace of evaluate.py - bob.ip.facedetect!14 Removed trace of evaluate.py
    • bob.ip.qualitymeasure!15 Removed traces of bob.ip.draw: Merging this one. Feel free to open an issue in case of problems
    • bob.ip.qualitymeasure!15 Removed traces of bob.ip.draw* bob/bob.pipelines
    • bob.pipelines!37 Revert "For some reason, the class information is not passed in the sample wrapper": This reverts merge request bob.pipelines!36
    • bob.pipelines!38 [sge] In dask some sublacessd classes need a config name. Fixes bob.pipelines#20
    • bob.pipelines!40 Add dask-client configurations as resources: Fixes bob.pipelines#19 Removes the sge-demanding configuration as all nodes at Idiap have a fast connection now. Depends on bob.bio.base!201
    • bob.pipelines!39 [dask][sge] Added the variables idle_timeout and allowed_failures as: part of our .bobrc and added better defaults
    • bob.pipelines!41 Added a GPU queue that defaults to short_gpu
    • bob.pipelines!43 Allow setting specific attributes of sample: Specify the sample attribute to assign the output of an estimator to, instead of 'data' in SampleWrapper. Specify the attribute of sample to save and load in CheckpointWrapper.
    • bob.pipelines!44 Fix sphinx warnings
    • bob.pipelines!45 Multiple Changes: * When checkpointing, checkpoing all steps in a pipeline * Better names in dask graph for FunctionTransformer * [xarray] Allow for multi argument transformers * SampleBatch in public API
    • bob.pipelines!46 move vstack_features to bob.io.base
    • bob.pipelines!48 Improvements on CheckpointWrapper: Added the optional argument hash_fn in the CheckpointWrapper class. Once this is set, sample.key generates a hash code and this hash code is used to compose the final path where sample will be checkpointed. This is optional and generic enough for our purposes. This hash function can be shipped in the database interface. Closes bob.pipelines#25
    • bob.pipelines!47 Multiple changes: * [DelayedSample] Allow for arbitrary delayed attributes * [SampleBatch] Allow other attributes than data Fixes bob.pipelines#26 bob.pipelines#24
    • bob.pipelines!49 [DelayedSample] Fix issues when an attribute was set
    • bob.pipelines!50 [DelayedSample(Set)] make load and delayed_attributes private: This removes the need for a lot of guessing in downstream packages as they can start removing all keys that start with _ when access of the sample's attribute is needed.
    • bob.pipelines!51 [dask][sge] Multiqueue updates: In this merge request I: - Simplified the way multi-queue is set in our scripts - Updated our Dask documentation Example ------- Setting the fit method to run on q_short_gpu python pipeline = mario.wrap( ["sample", "checkpoint", "dask"], pipeline, model_path=model_path, fit_tag="q_short_gpu", ) You have to explicitly set the list of resource tags available. python pipeline.fit_transform(...).compute( scheduler=dask_client, resources=cluster.get_sge_resources()
    • bob.pipelines!53 Updates: Implemented two updates in this MR - Removed the random behavior on the hash_string function (i had some problems in large scale tests). - Implemented the DelayedSampleSetCached. I need this behavior to speed-up the score computation.
    • bob.pipelines!52 [CheckpointWrapper] Allow custom save and load functions through estimator tags
    • bob.pipelines!54 Fixed multiqueue: Hi @amohammadi @ydayer I'm fixing here the issue raised with the multiqueue. I was wrongly setting all tasks to run in a particular resource restriction. Now the problem is fixed. To get it running you have to wrap your pipeline in the same way as before and fetch the resources like this python pipeline = bob.pipelines.wrap( ["sample", "checkpoint", "dask"], pipeline, model_path="./", transform_extra_arguments=(("metadata", "metadata"),), fit_tag="q_short_gpu", ) from bob.pipelines.distributed.sge import get_resource_requirements resources = get_resource_requirements(pipeline) pipeline.fit_transform(X_as_sample).compute( scheduler=client, resources=resources )
    • bob.pipelines!56 Two new features: - Moved dask_get_partition_size from bob.bio.base to bob.pipelines - Updated the target duration of a task to 10s. Being very aggressive in scale-up
    • bob.pipelines!58 Moved the CSVBaseSampleLoader from bob.bio.base to bob.pipelines. This is a general function
    • bob.pipelines!38 [sge] In dask some sublacessd classes need a config name. Fixes bob/bob.pipelinesbob/bob.pipelines#20
    • bob.pipelines!40 Add dask-client configurations as resources: Fixes bob/bob.pipelinesbob/bob.pipelines#19 Removes the sge-demanding configuration as all nodes at Idiap have a fast connection now. Depends on bob.bio.basebob/bob.pipelines!201
    • bob.pipelines!47 Multiple changes: * [DelayedSample] Allow for arbitrary delayed attributes * [SampleBatch] Allow other attributes than data Fixes bob/bob.pipelinesbob/bob.pipelines#26 bob/bob.pipelinesbob/bob.pipelines#24
    • bob.pipelines!55 Moved VALID_DASK_CLIENT_STRINGS to bob.pipelines
    • bob.pipelines!59 Dask client names
    • bob.pipelines!60 CSVSampleLoaders as transformers: Made CSVSampleLoaders as scikit-learn transformers This is a good idea indeed. I made to classes. The CSVToSampleLoader converts one line to one sample; and AnnotationsLoader that aggregates from CSVToSampleLoader to read annotations using bob.db.base.read_anno.... This is delayed. I'm already porting this stuff on bob.bio.base. Code is way more cleaner. ping @amohammadi @ydayer Closes bob/bob.pipelinesbob/bob.pipelines#30
    • bob.pipelines!61 Fixed modules: config files from here are not available once conda install bob.pipelines
    • bob.pipelines!62 Implement a new simple generic csv-based database interface: Depends on bob.extension!126 - bob.pipelines!55 Moved VALID_DASK_CLIENT_STRINGS to bob.pipelines
    • bob.pipelines!60 CSVSampleLoaders as transformers: Made CSVSampleLoaders as scikit-learn transformers This is a good idea indeed. I made to classes. The CSVToSampleLoader converts one line to one sample; and AnnotationsLoader that aggregates from CSVToSampleLoader to read annotations using bob.db.base.read_anno.... This is delayed. I'm already porting this stuff on bob.bio.base. Code is way more cleaner. ping @amohammadi @ydayer Closes bob.pipelines#30
    • bob.pipelines!62 Implement a new simple generic csv-based database interface: Depends on bob.extension!126
    • bob.learn.tensorflow!86 MINE: Mutual Information Neural Estimation: Implemented https://arxiv.org/pdf/1801.04062.pdf
    • bob.learn.tensorflow!85 Porting to TF2: Fixes bob.learn.tensorflow#75
    • bob.learn.tensorflow!88 Porting inception resnet v1: This can be used with the facenet models too
    • bob.learn.tensorflow!89 Cleanup: This package needs some clean up
    • bob.learn.tensorflow!91 Fixed issues with TF1 compatibility: Fixed compatibility issues with TF1 and TF2 models thanks @lcolbois
    • bob.learn.tensorflow!85 Porting to TF2: Fixes bob/bob.learn.tensorflowbob/bob.learn.tensorflow#75
    • bob.learn.tensorflow!92 Add necessary files to train DeepPixBis
    • bob.learn.tensorflow!93 ArcFace/SphereFace Loss: Implemented 2 losses and 1 layer from the arcface paper: https://arxiv.org/abs/1801.07698 Implemented 1 loss and 1 layer from the sphere face paper: https://arxiv.org/pdf/1704.08063.pdf Implemented a keras model that does the validation in the test step - bob.learn.tensorflow!92 Add necessary files to train DeepPixBis
    • bob.learn.tensorflow!93 ArcFace/SphereFace Loss: Implemented 2 losses and 1 layer from the arcface paper: https://arxiv.org/abs/1801.07698 Implemented 1 loss and 1 layer from the sphere face paper: https://arxiv.org/pdf/1704.08063.pdf Implemented a keras model that does the validation in the test step
    • bob.bio.base!200 Database interface: Implemented a simple filelist database interface for the VanillaBiometrics based on CSVFiles. The CSVDatasetDevEval needs to have the following format: text my_dataset/ my_dataset/my_protocol/ my_dataset/my_protocol/train.csv my_dataset/my_protocol/train.csv/dev_enroll.csv my_dataset/my_protocol/train.csv/dev_probe.csv my_dataset/my_protocol/train.csv/eval_enroll.csv my_dataset/my_protocol/train.csv/eval_probe.csv ... where each CSV file needs to have the following format: text PATH,SUBJECT path_1,subject_1 path_2,subject_2 path_i,subject_j This formart allows the usage of metadata by following the pattern below: text PATH,SUBJECT,METADATA_1,METADATA_2,METADATA_k path_1,subject_1,A,B,C path_2,subject_2,A,B,1 path_i,subject_j,2,3,4 We can imagine other implementations of this. For instance, CSVDatasetCrossValidation that given a csv file, it splits "on-the-fly" several data for enrolling, probing and training. Or CSVDatasetWithEyesAnnotation, that handles annotations for Face Rec pipelines. I still need to implement a mechanism that takes zip files as input to CSVDatasetDevEval. That way we can ship databases as simple zip files ping @ydayer @amohammadi I'll merge this tomorrow. I need this to support the efforts on bob.bio.vein.
    • bob.bio.base!201 Correct the chain loading and click implementation: The vanilla biometrics script was not using our click API correctly, this fixes that. Please refer to bob.extension's docs for more info.
    • bob.bio.base!194 New documentation bob.bio.base: Redoing bob.bio.base documentation We might rebrand this package to scikit-biometrics
    • bob.bio.base!203 Fix Dask shutting down automatically when calling from a script: Defers the shutdown task to the user by putting the execution of Vanilla-Biometrics in its own function. The bob bio pipelines vanilla-biometrics command calls this function.
    • bob.bio.base!180 [dask] Preparing bob.bio.base for dask pipelines: THIS IS A WIP Working out how bob.bio.base should be with dask pipelines. Some things to be done in the MR is. - [x] Remove all traces of verify.py. Pipelines needs to be defined with dask. This includes the removal of: FileSelector, Grid configurations, ./script/grid_search, ./script/enroll, ./script/extract, ./script/preprocess, ./baselines - [x] Move the biometrics pipeline from bob.pipelines to here - [ ] Document the package on: 1-) How to use the resources available (databases, algorithms, preprocessors, etc..), 2-) How to create new databases, 3-) How to create new pipelines (this should be in bob.pipelines) - [x] Rethink the file list interface - [ ] Review which dependencies to keep. For instance, bob.learn.linear, bob.learn.em, bob.learn.activation, bob.math (consider use scikit-learn). - [x] Implement missing pipelines (for instance, score normalization/calibration pipeline) - [x] Database paths patched in ~/.bobrc - [ ] Redesign the resource.py as CLI commands
    • bob.bio.base!204 Remove stackable preprocessors and extractors: Now that we have standardized on scikit-learn transformers, scikit-learn alternatives such as FunctionTransformer, Pipeline, and FeatureUnion should be used
    • bob.bio.base!202 Dask annotators
    • bob.bio.base!205 Fix annotators kwargs: The kwargs were not passed correctly in the FailSafe annotator. Removed the shutdown of dask clients in the annotate commands.
    • bob.bio.base!207 Fixed [typo]
    • bob.bio.base!206 Created decorators: Added two decorators that checks mxnet and tensorflow
    • bob.bio.base!208 Fixing sphinx warnings: It's a WIP. I have 34 warnings to be fixed so far. ping @ydayer @amohammadi
    • bob.bio.base!209 Putting annotator back to the documentation
    • bob.bio.base!210 [annotators][FailSafe] improvements
    • bob.bio.base!212 Improvements on CheckpointWrapper: Related to bob.pipelines!48
    • bob.bio.base!214 Optimize scoring if allow_scoring_with_all_biometric_references == False: ..by caching biometric references. This speeds things up by a lot
    • bob.bio.base!211 [legacy databases] delay loading of annotations: Depends on bob.pipelines!47
    • bob.bio.base!213 [VanillaBiometrics] Make some dask arguments visible in the CLI commands: Sometimes our heuristics that defines dask.bag.partition_size and n_workers is not enough to cover all range of problems. In this MR I'm adding the options --dask-partition-size and --dask-n-workers in the vanilla-biometrics CLI command, so that users can explicitly set, respectively, the dask bag partition size and the number of workers to start an experiment without having to play around with the API.
    • bob.bio.base!216 [click][VanillaBiometrics] Fixed click options: Closes bob.bio.base#148
    • bob.bio.base!218 [test_utils] Do not re-download ATNT database: if the data is already inside the low-level db package. Fixes bob.bio.base#127
    • bob.bio.base!219 Remove fiddling with bob.pipelines.Samples's internals
    • bob.bio.base!217 Add a method to retrieve all the samples of a dataset: Added a functionality to get all the samples at once. For legacy databases, it uses the all_files method. Closes bob.bio.base#146
    • bob.bio.base!220 [scripts][pipelines] allow dask-clients as strings: Some strings like single-threaded, processes, ... are now allowed as options for the dask-client click option. Depends on bob.extension!122
    • bob.bio.base!221 Added the memory_demanding attribute as part of the legacy APi
    • bob.bio.base!222 Follow-up to "Add a method to retrieve all the samples of a dataset": Closes bob.bio.base#149 The all_samples methods now correctly handles the 'train' group, returning only the samples of a group if that group is given as parameter. The 'groups' parameters contents are now verified with bob.db.base.check_parameters_for_validity. Groups of 'legacy database interfaces' different from 'train', 'dev', or 'eval' are now handled correctly.
    • bob.bio.base!223 Used the DelayedSampleSetCached in the BioAlgorithmCheckpointWrapper: Depends on bob.pipelines!53
    • bob.bio.base!225 [test.utils] Handle ModuleNotFoundError when bob.db.atnt is not available
    • bob.bio.base!226 [legacy] Updated subject to reference_id in the lecacy DB interface
    • bob.bio.base!227 Make compare samples work with DelayedSample instead of Sample: this allow us to use bob.bio.rankone
    • bob.bio.base!230 [dask] Moved dask_get_partition_size from bob.bio.base to bob.pipelines
    • bob.bio.base!229 Check stateless: Small change where background model samples are not loaded if the main pipeline is stateless. The world set typically is much larger than the dev and eval set, so it is a bit of a waste to load. NB. The make_pipeline utility from scikit-learn generates pipelines that are never stateless, even if all transformers in the sequence are stateless, which makes this change useful.
    • bob.bio.base!228 moved VALID_DASK_CLIENT_STRINGS to bob.pipelines
    • bob.bio.base!224 Adapting CSVDevEval to work with our current FileList Structure: This is a WIP, which means Work in Progress. In this MR I structured the files from the proposed CSV interface to be the same as in the current FileList we have. Furthermore, the current .lst files can be used in the CSVDatasetDevEval with some of the bells and whistles the current LST files has (e.g usage of external annotations). The goal is of the MR is to: 1. Be able to use the current file lists we have 2. Allow the extra functionalities we currently have with the CSVs.
    • bob.bio.base!231 Renamed CSVDatasetDevEval to CSVDataset: .... it's easier
    • bob.bio.base!232 Move code
    • bob.bio.base!211 [legacy databases] delay loading of annotations: Depends on bob.pipelinesbob/bob.bio.base!47
    • bob.bio.base!216 [click][VanillaBiometrics] Fixed click options: Closes bob/bob.bio.basebob/bob.bio.base#148
    • bob.bio.base!218 [test_utils] Do not re-download ATNT database: if the data is already inside the low-level db package. Fixes bob/bob.bio.basebob/bob.bio.base#127
    • bob.bio.base!217 Add a method to retrieve all the samples of a dataset: Added a functionality to get all the samples at once. For legacy databases, it uses the all_files method. Closes bob/bob.bio.basebob/bob.bio.base#146
    • bob.bio.base!220 [scripts][pipelines] allow dask-clients as strings: Some strings like single-threaded, processes, ... are now allowed as options for the dask-client click option. Depends on bob.extensionbob/bob.bio.base!122
    • bob.bio.base!222 Follow-up to "Add a method to retrieve all the samples of a dataset": Closes bob/bob.bio.basebob/bob.bio.base#149 The all_samples methods now correctly handles the 'train' group, returning only the samples of a group if that group is given as parameter. The 'groups' parameters contents are now verified with bob.db.base.check_parameters_for_validity. Groups of 'legacy database interfaces' different from 'train', 'dev', or 'eval' are now handled correctly.
    • bob.bio.base!233 CSVSampleLoaders as transformers: Depends on bob.pipelines!60 ping @amohammadi @ydayer
    • bob.bio.base!234 Fixed issues in the ScoreWriter
    • bob.bio.base!235 [ztnorm][scorewriter] Updates: - Used DelayedSampleSetCached in the ZTNormCheckpointWrapper - Cleaning up the CSVScoreWriter
    • bob.bio.base!236 [Fix] Correction of scores path: This fixes an issue introduced in this commit where the path to the output scores file was wrong for non .csv score file format. ping @tiago.pereira
    • bob.bio.base!238 Created the function get_temp_directory: ... this is useful for legacy algorithms Related to bob.bio.face#39
    • bob.bio.base!239 Raised a warning when data is not available to process vanilla-biometrics
    • bob.bio.base!240 Doc cleanup: Did a pass in Grammaly and corrected the errors.
    • bob.bio.base!241 Legacy database wrapper was not supporting this properly supporting the use case where model_id<>client_id: Making the bob.bio.base database interface support samplesets where the reference_id is different from subject_id. There are some databases protocols that needs such support. Furthermore the legacy database interface was not supporting this properly ping @mguenther
    • bob.bio.base!242 [bob.piplines] sample loaders have moved in bob.pipelines: Depends on bob.pipelinesbob/bob.bio.base!62
    • bob.bio.base!243 Add the vulnerability analysis commands: Moved from bob.pad.base
    • bob.bio.base!245 Score checkpoint are more robust: In this MR I'm changing the way we checkpoint scores. I moved from the joblib pickling to pickle and compress with gzip myself. This seems more robust with our file system. - bob.bio.base!233 CSVSampleLoaders as transformers: Depends on bob.pipelines!60 ping @amohammadi @ydayer
    • bob.bio.base!236 [Fix] Correction of scores path: This fixes an issue introduced in this commit where the path to the output scores file was wrong for non .csv score file format. ping @tiago.pereira
    • bob.bio.base!242 [bob.piplines] sample loaders have moved in bob.pipelines: Depends on bob.pipelines!62
    • bob.bio.base!245 Score checkpoint are more robust: In this MR I'm changing the way we checkpoint scores. I moved from the joblib pickling to pickle and compress with gzip myself. This seems more robust with our file system.
    • bob.bio.gmm!24 Dask pipelines
    • bob.bio.gmm!24 Dask pipelines* bob/bob.bio.face
    • bob.bio.face!69 Make all the transformers work with lists by default
    • bob.bio.face!47 Accept an annotator in FaceCrop: related to bob.bio.face#26
    • bob.bio.face!70 Renamed the resources to use dash instead of under score: Renamed the resources to use dash instead of under score what we've discussed yesterday @ydayer
    • bob.bio.face!72 Fix transformers naming in tests: Fixed some tests that failed after bob.bio.face!70. Added temporary models data folder in .gitignore.
    • bob.bio.face!71 Face crop improvements
    • bob.bio.face!64 Dask pipelines
    • bob.bio.face!75 [Preprocessor] Fix color channel: This fixes bugs introduced by commit bob.bio.face@38e6503f. - Removing ambiguity in Base between color_channelattribute and color_channel method (-> changed to change_color_channel method) - Patching tests to send a list of arrays to Base.transform, not an array (as required)
    • bob.bio.face!76 Fixed Scaler and preprocessors that use annotations
    • bob.bio.face!77 TF2 pipelines: Hi @lcolbois, I'm opening an MR with your port. Let's do it one by one. Thanks for starting this work
    • bob.bio.face!78 Remove bob.db.msumfsd_mod
    • bob.bio.face!79 Arcface from InsightFace: Hey @amohammadi, Shall I add mxnet in bob-devel? Thanks
    • bob.bio.face!73 Adaptation of Annotator to Tranformer: Removes facedetect and facelandmark. MTCNN follows the Transformer interface. The implementation of MTCNN annotations() (in bob.ip.tensoflow_extractor) must be changed to accept a batch of images.
    • bob.bio.face!82 Cleanup: Making builds green again
    • bob.bio.face!83 memory_demanding for TF based transformers: There are some situations where you have SampleSets with more than 1000 samples and we can't just TF forward them in one shot without OOM. In this MR I introduce the argument memory_demanding, where, once it's set to true, will `forward one sample at a time.
    • bob.bio.face!80 Port display-face-annotations script: Created a click command for the display-face-annotations script and fixed tests.
    • bob.bio.face!84 Test Facenet: This completes the testing of FaceNet by comparing with the embeddings generated in the TF1 version. N.B : Currently the test does NOT succeed bob/bob.bio.face!
    • bob.bio.face!81 Sample Loaders able to handle certain type of annotations...: .... and the implementation of the MEDS dataset as file lists
    • bob.bio.face!86 Some fixes to allow vulnerability tests with replay-attack and replay-mobile database
    • bob.bio.face!87 Renamed CSVDatasetDevEval to CSVDataset
    • bob.bio.face!47 Accept an annotator in FaceCrop: related to bob/bob.bio.facebob/bob.bio.face#26
    • bob.bio.face!73 Adaptation of Annotator to Tranformer: Removes facedetect and facelandmark. MTCNN follows the Transformer interface. The implementation of MTCNN annotations() (in bob.ip.tensoflow_extractor) must be changed to accept a batch of images.
    • bob.bio.face!89 Updates: - Added MORPH dataset - Proper documented the MEDS database - Fixed eyes annotation issue
    • bob.bio.face!88 SampleLoader as transformer: Depends on bob.pipelines!60 ping @ydayer @amohammadi
    • bob.bio.face!90 Updated Capeal database
    • bob.bio.face!92 MultiFaceCrop: Test and describe the MultiFaceCrop preprocessor Integrates it into the baselines Now can run instructions such as bob bio pipelines vanilla-biometrics multipie-pose inception-resnetv2-msceleb and have the MultiFaceCrop automatically selected.
    • bob.bio.face!93 Small fixes the database tests so it flawlessly passes in [mac] builds
    • bob.bio.face!94 Fixing the temp directory path for legacy algorithms IF checkpointing is off: Hi @lcolbois, Thanks for detecting the problem and opening the issue with all the details. The problem is that most of the legacy algorithms are not pickled serializable, therefore, we can't wrap their transformations as :any:bob.pipelines.Sample and use pipelines in memory (vanilla-biometrics without the --checkpoint option). Hence, we need to make them automatically "checkpointable" and use their legacy functions to persist data into the disk in a temporary directory. This was wrongly set in the lgbphs baseline. The /tmp/ was being set by default and this is not valid while running stuff on cluster. Basically, you are persisting data on the /tmp of every node and obviously, this directory is not visible in other nodes. That's why things work locally and on the grid with checkpoints. In this MR bob.bio.base!238 I formalized a function that generates proper temporary directories that are visible on the cluster. closes bob/bob.bio.facebob/bob.bio.face#39
    • bob.bio.face!91 Porting databases to the CSV interface: Hey, I'm starting from Mobio and will probably do MultiPIE (ping @lcolbois) tonight. Shall we deprecate the corresponding bob.dbs? I would keep them around for a while...
    • bob.bio.face!95 Multipie Leaderboard: This introduces + Documentation on Multipie + Leaderboard with baseline results + A script for specifically plotting HTER in function of camera angle, with results
    • bob.bio.face!97 [Fix] Legacy helpers with fixed annotations: This fixes the helpers used for defining legacy baselines, when using fixed annotations. Beforehand, the instantiated cropper was still expecting to receive an "annotation" metadata, which broke the execution. I fixed a similar issue a while ago for Tensorflow baselines but missed to also fix legacy baselines. ping @tiago.pereira
    • bob.bio.face!99 [Fix][FaceCrop] Feed annotator with list of images: This fixes bob.bio.face#40.
    • bob.bio.face!100 Resolve "EyesAnnotations ordering of x & y coordinates is wrong": Closes bob/bob.bio.facebob/bob.bio.face#41
    • bob.bio.face!96 TF2 training: Wrapping up an old script that trains some angular FR models (ArcFace, SphereFace, Modsoftmax) using different backbones
    • bob.bio.face!101 Changed 112x112 crop: Changed the 112x112. In that way, the arcface-insightface gives ~0% on the Mobio dataset [Min. criterion: EER ] Threshold on Development set `/idiap/temp/tpereira/temp/insight-face/scores-dev`: -2.459333e+01 ===================== ================ ================= .. Development Evaluation ===================== ================ ================= Failure to Acquire 0.00% 0.00% False Match Rate 0.03% (20/57960) 0.04% (65/147630) False Non Match Rate 0.04% (1/2520) 0.00% (0/3990) False Accept Rate 0.03% 0.04% False Reject Rate 0.04% 0.00% Half Total Error Rate 0.04% 0.02% ===================== ================ =================
    • bob.bio.face!102 New baselines: Included two new baselines trained with ArcFace head These two were trained by myself using MSCeleb. resnet50-msceleb-arcface-2021 ===================== ================ ================= .. Development Evaluation ===================== ================ ================= Failure to Acquire 0.0% 0.0% False Match Rate 0.5% (299/57960) 0.4% (531/147630) False Non Match Rate 0.5% (13/2520) 1.5% (59/3990) False Accept Rate 0.5% 0.4% False Reject Rate 0.5% 1.5% Half Total Error Rate 0.5% 0.9% ===================== ================ ================= mobilenetv2-msceleb-arcface-2021 [Min. criterion: EER ] Threshold on Development set `/idiap/temp/tpereira/temp/mobilenetv2-mobio-male/scores-dev`: -9.859437e-01 ===================== ================ ================== .. Development Evaluation ===================== ================ ================== Failure to Acquire 0.0% 0.0% False Match Rate 1.1% (621/57960) 1.0% (1534/147630) False Non Match Rate 1.1% (27/2520) 2.5% (100/3990) False Accept Rate 1.1% 1.0% False Reject Rate 1.1% 2.5% Half Total Error Rate 1.1% 1.8% ===================== ================ ================== To use it do in a FR experiment do: bob bio pipelines vanilla-biometrics <database> resnet50-msceleb-arcface-2021 ....
    • bob.bio.face!103 Fix LFW database: - Ported some databases to the the CSVSampleLoaderBiometrics - Set the flag allow_scoring_with_all_biometric_references=False in the LFW database entry-points. ping @mguenther
    • bob.bio.face!104 Resolve "ArcFace (MXNET) + IJBC lead to memory error": Closes bob/bob.bio.facebob/bob.bio.face#42
    • bob.bio.face!105 New baseline: New baseline. Resnet50 (the one from keras) trained with VGG2 and arcface loss. Resource resnet50-vgg2-arcface-2021
    • bob.bio.face!107 [tests] Mark tensorflow tests as slow: related to bob/bob.bio.facebob/bob.bio.face#43
    • bob.bio.face!108 Replace nose with pytest: Related to bob/bobbob/bob.bio.face#267
    • bob.bio.face!109 Remove duplicated tests: Improved the test_baseline tests to be tight with the score values, so we indirectly test the embeddings. Hence, we pretty much have the same coverage. The coverage decreased 1% due to some resources that are not activated, but it's fine. ~26 minutes and 17 GB ram usage much improved compared to 56 min and 28 GB RAM usage
    • bob.bio.face!110 Casia Africa Database: Created Casia-Africa database interface. - [x] Documentation - [x] Tests - [x] Resources
    • bob.bio.face!111 Integrating HTFace databases: Hi, I quickly integrated some HTFace databases. Here I ported the polathermal (VIS-Thermal) dataset and CBSR dataset (VIS-NIR) ping @amohammadi @ageorge @sebastien.marcel - bob.bio.face!89 Updates: - Added MORPH dataset - Proper documented the MEDS database - Fixed eyes annotation issue
    • bob.bio.face!94 Fixing the temp directory path for legacy algorithms IF checkpointing is off: Hi @lcolbois, Thanks for detecting the problem and opening the issue with all the details. The problem is that most of the legacy algorithms are not pickled serializable, therefore, we can't wrap their transformations as :any:bob.pipelines.Sample and use pipelines in memory (vanilla-biometrics without the --checkpoint option). Hence, we need to make them automatically "checkpointable" and use their legacy functions to persist data into the disk in a temporary directory. This was wrongly set in the lgbphs baseline. The /tmp/ was being set by default and this is not valid while running stuff on cluster. Basically, you are persisting data on the /tmp of every node and obviously, this directory is not visible in other nodes. That's why things work locally and on the grid with checkpoints. In this MR bob.bio.base!238 I formalized a function that generates proper temporary directories that are visible on the cluster. closes bob.bio.face#39
    • bob.bio.face!100 Resolve "EyesAnnotations ordering of x & y coordinates is wrong": Closes bob.bio.face#41
    • bob.bio.face!104 Resolve "ArcFace (MXNET) + IJBC lead to memory error": Closes bob.bio.face#42
    • bob.bio.face!107 [tests] Mark tensorflow tests as slow: related to bob.bio.face#43
    • bob.bio.face!108 Replace nose with pytest: Related to #267
    • bob.bio.face!111 Integrating HTFace databases: Hi, I quickly integrated some HTFace databases. Here I ported the polathermal (VIS-Thermal) dataset and CBSR dataset (VIS-NIR) ping @amohammadi @ageorge @sebastien.marcel
    • bob.bio.face!113 fix for protocol name
    • bob.bio.video!41 Removed traces of bob.ip.flandmark, bob.ip.daraw, bob.learn.boosting
    • bob.bio.video!42 Dask pipelines
    • bob.bio.video!43 API Change: This package used to have wrappers for annotators, preprocessors, extractors, and algorithms. Here, we're planning to only provide wrappers for: - Annotators - Transformers - BiometricAlgorithm (not yet implemented) We're also removing FrameContainer and FrameSelector classes in favor of VideoAsArray and VideoLikeContainer, they are not wildly different, but they read the data efficiently (not loading all the frames into memory) and they behave like numpy arrays, so they are easier to work with. The BioVideoFile class is kept but it will return VideoAsArray instead of FrameContainer
    • bob.bio.video!43 API Change: This package used to have wrappers for annotators, preprocessors, extractors, and algorithms. Here, we're planning to only provide wrappers for: - Annotators - Transformers - BiometricAlgorithm (not yet implemented) We're also removing FrameContainer and FrameSelector classes in favor of VideoAsArray and VideoLikeContainer, they are not wildly different, but they read the data efficiently (not loading all the frames into memory) and they behave like numpy arrays, so they are easier to work with. The BioVideoFile class is kept but it will return VideoAsArray instead of FrameContainer* bob/bob.bio.vein
    • bob.bio.vein!47 Removed traces of bob.io.matlab: Closes bob.bio.vein#23
    • bob.bio.vein!46 Dask pipelines
    • bob.bio.vein!49 [nosetest] Fixed baselines
    • bob.bio.vein!48 Adding Principal Curvature (PC) algorithm: Hi, I spent some time to debug the code for Principal Curvature (PC) algorithm, add its configuration file, and make the needed change in setup.py. Please take a look at changes to proceed with MR. Many thanks to @ydayer for all his help to debug the code!
    • bob.bio.vein!47 Removed traces of bob.io.matlab: Closes bob/bob.bio.veinbob/bob.bio.vein#23
    • bob.bio.vein!48 Adding Principal Curvature (PC) algorithm: Hi, I spent some time to debug the code for Principal Curvature (PC) algorithm, add its configuration file, and make the needed change in setup.py. Please take a look at changes to proceed with MR. Many thanks to @ydayer for all his help to debug the codebob/bob.bio.vein!* bob/bob.pad.base
    • bob.pad.base!73 Merged bob.bio: Moved bob.bio.base, bob.bio.face, bob.bio.gmm, and bob.bio.video to this packae. They were respectively renamed to: bob.bio.base_legacy, bob.bio.face_legacy, bob.bio.gmm_legacy, bob.bio.video_legacy Missing to port the docs. Fixes bob.pad.base#34
    • bob.pad.base!74 Added spear as part of the temporary legacy: Addressing this issue https://gitlab.idiap.ch/bob/bob.bio.spear/-/issues
    • bob.pad.base!76 Cleaning up dependencies
    • bob.pad.base!75 WIP: Port to dask pipelines
    • bob.pad.base!77 Remove deprecated code
    • bob.pad.base!80 [vanilla-pad] Improve the dask client option and delayed annotations
    • bob.pad.base!73 Merged bob.bio: Moved bob.bio.base, bob.bio.face, bob.bio.gmm, and bob.bio.video to this packae. They were respectively renamed to: bob.bio.base_legacy, bob.bio.face_legacy, bob.bio.gmm_legacy, bob.bio.video_legacy Missing to port the docs. Fixes bob/bob.pad.basebob/bob.pad.base#34
    • bob.pad.base!78 Dask pipelines Improvements: This MR improves the dask pipelines port.
    • bob.pad.base!81 [dask] Make vanilla-pad work properlly with dask: In this MR, I'm. 1. Wrapping the pipeline with DaskWrapper, because it wasn't. I think that's why things were not working for you with SGE @ydayer. vanilla-pad was creating SGE jobs AND running everything locally. 2. Added the options "--dask-partition-size" and "--dask-n-workers", so the user has some freedom to set these parameters if the heuristics in place are unpleasant. I'll merge this one right away because of the workshop. Feel free to open issues if any
    • bob.pad.base!79 new documentation incl. vanilla-pad: The goal is to update the documentation of bob.pad.base with the latest changes. ping @amohammadi @tiago.pereira
    • bob.pad.base!82 New database interface for PAD: Hi @amohammadi, @ydayer Follow the proposition for a new DB interface for PAD. It follows the same guide lines used in bob.bio.base. Follow below the features implemented: 1. Uses CSV files instead of LSTs; with that, you can ship metadata. However, it uses the same file structure as before, so no stress in porting stuff. 2. The CSVPADDataset can transparently read the current LST files we have (I've created a sample loader that handles that). 3. The CSVPADDataset is able to read either files inside of a file structure or files inside of a tarball. Follow an example on how to use it, by reading from a file structure and from a tarball python def run(path): dataset = CSVPADDataset(path, "protocol1") bob/bob.pad.basebob/bob.pad.base# Train assert len(dataset.fit_samples()) == 5 bob/bob.pad.basebob/bob.pad.base# 2 out of 5 are bonafides assert sum([s.is_bonafide for s in dataset.fit_samples()]) == 2 bob/bob.pad.basebob/bob.pad.base# DEV assert len(dataset.predict_samples()) == 5 bob/bob.pad.basebob/bob.pad.base# 2 out of 5 are bonafides assert sum([s.is_bonafide for s in dataset.predict_samples()]) == 2 bob/bob.pad.basebob/bob.pad.base# EVAL assert len(dataset.predict_samples(group="eval")) == 7 bob/bob.pad.basebob/bob.pad.base# 3 out of 5 are bonafides assert sum([s.is_bonafide for s in dataset.predict_samples(group="eval")]) == 3 csv_example_dir = os.path.realpath( bob.io.base.test_utils.datafile(".", __name__, "data/csv_dataset") ) csv_example_tarball = os.path.realpath( bob.io.base.test_utils.datafile(".", __name__, "data/csv_dataset.tar.gz") ) run(csv_example_dir) run(csv_example_tarball)
    • bob.pad.base!84 Remove vulnerability analysis commands: Moved to bob.bio.base Fixes bob/bob.pad.basebob/bob.pad.base#27
    • bob.pad.base!85 Allow to specify the pipeline decision function in vanilla_pad script: This changes makes it easier to use the vanilla_pad script with classifiers that have different names for their decision functions (eg "predict_proba", "predict", etc...) This also allows passing "transform" as a decision_function in case the pipeline does not contain a classifier. - bob.pad.base!78 Dask pipelines Improvements: This MR improves the dask pipelines port.
    • bob.pad.base!82 New database interface for PAD: Hi @amohammadi, @ydayer Follow the proposition for a new DB interface for PAD. It follows the same guide lines used in bob.bio.base. Follow below the features implemented: 1. Uses CSV files instead of LSTs; with that, you can ship metadata. However, it uses the same file structure as before, so no stress in porting stuff. 2. The CSVPADDataset can transparently read the current LST files we have (I've created a sample loader that handles that). 3. The CSVPADDataset is able to read either files inside of a file structure or files inside of a tarball. Follow an example on how to use it, by reading from a file structure and from a tarball python def run(path): dataset = CSVPADDataset(path, "protocol1") bob/bob.pad.base# Train assert len(dataset.fit_samples()) == 5 bob/bob.pad.base# 2 out of 5 are bonafides assert sum([s.is_bonafide for s in dataset.fit_samples()]) == 2 bob/bob.pad.base# DEV assert len(dataset.predict_samples()) == 5 bob/bob.pad.base# 2 out of 5 are bonafides assert sum([s.is_bonafide for s in dataset.predict_samples()]) == 2 bob/bob.pad.base# EVAL assert len(dataset.predict_samples(group="eval")) == 7 bob/bob.pad.base# 3 out of 5 are bonafides assert sum([s.is_bonafide for s in dataset.predict_samples(group="eval")]) == 3 csv_example_dir = os.path.realpath( bob.io.base.test_utils.datafile(".", __name__, "data/csv_dataset") ) csv_example_tarball = os.path.realpath( bob.io.base.test_utils.datafile(".", __name__, "data/csv_dataset.tar.gz") ) run(csv_example_dir) run(csv_example_tarball)
    • bob.pad.base!84 Remove vulnerability analysis commands: Moved to bob.bio.base Fixes bob.pad.base#27
    • bob.pad.base!85 Allow to specify the pipeline decision function in vanilla_pad script: This changes makes it easier to use the vanilla_pad script with classifiers that have different names for their decision functions (eg "predict_proba", "predict", etc...) This also allows passing "transform" as a decision_function in case the pipeline does not contain a classifier.
    • bob.pad.face!106 Merge bob.bio: Moved bob.bio.base, bob.bio.face, bob.bio.gmm, and bob.bio.video to this packae. They were respectively renamed to: bob.bio.base_legacy, bob.bio.face_legacy, bob.bio.gmm_legacy, bob.bio.video_legacy
    • bob.pad.face!107 WIP: Port to dask pipelines
    • bob.pad.face!92 Removes unnecessary logger warning: Removes unnecessary logger warning
    • bob.pad.face!109 Remove bob.db.msumfsd_mod and its aggregated db
    • bob.pad.face!108 Remove deprecated code
    • bob.pad.face!111 cleaning up nonexistant entry-points: I'll merge this one right away. Fell free to open an issue if any
    • bob.pad.face!110 Porting to dask pipelines
    • bob.pad.face!113 Dask pipelines fixes: Addresses some of the comments in bob.pad.facebob/bob.pad.face!110
    • bob.pad.face!114 Updating to the documentation: Adapted the documentation to the new interface with the bob pad commands, instead of the spoof.py script. Fixes bob/bob.pad.facebob/bob.pad.face#39.
    • bob.pad.face!115 Port databases to the new csv format: Depends on bob.pipelinesbob/bob.pad.face!62 and bob.pad.basebob/bob.pad.face!82
    • bob.pad.face!116 Add SWAN and OULU-NPU databases - bob.pad.face!110 Porting to dask pipelines
    • bob.pad.face!113 Dask pipelines fixes: Addresses some of the comments in bob.pad.face!110
    • bob.pad.face!114 Updating to the documentation: Adapted the documentation to the new interface with the bob pad commands, instead of the spoof.py script. Fixes bob.pad.face#39.
    • bob.pad.face!115 Port databases to the new csv format: Depends on bob.pipelines!62 and bob.pad.base!82
    • bob.pad.face!116 Add SWAN and OULU-NPU databases
    • bob.learn.pytorch!44 Merge bob.bio
    • bob.learn.pytorch!46 Removed legacy components: * [black] everything * Renamed bob.bio.base_legacy to this bob.bio.base * pinned tensorflow as a Linux dependency - bob.learn.pytorch!46 Removed legacy components: * [black] everything * Renamed bob.bio.base_legacy to this bob.bio.base * pinned tensorflow as a Linux dependency
    • bob.ip.binseg!16 Use pytest instead of nose: This MR moves unit testing to pytest (instead of nose). It incidentally also enables py36 builds, now that pytorch is available for that Python version. - bob.ip.binseg!16 Use pytest instead of nose: This MR moves unit testing to pytest (instead of nose). It incidentally also enables py36 builds, now that pytorch is available for that Python version.
    • bob.devtools!170 Don't update conda first in bootstrap and Allow changing the server in badges
    • bob.devtools!168 Give public packages more priority over private packages
    • bob.devtools!171 Specify the upload channel explicitly: Related to bob/bob.devtoolsbob/bob.devtools#58
    • bob.devtools!172 Fixed TypeError
    • bob.devtools!173 Use format string rather than f string in bootstrap.py: Python 3.6 syntax cannot be used yet Fixes bob/bob.devtoolsbob/bob.devtools#59
    • bob.devtools!174 Remove ffmpeg and openh264 from our channel in favor of defaults: ffmpeg 4.2 with support of h264 is available in the defaults channel.
    • bob.devtools!176 Do not cache mirrored files
    • bob.devtools!177 Remove x264 packages from our channel index: I already created symbolic links for these packages in the archive channel as well.
    • bob.devtools!179 allow aarch64
    • bob.devtools!178 Use centos:7 to build Bob
    • bob.devtools!180 [conda_build_config] Update bob-devel and its respective pins
    • bob.devtools!181 [conda_build_config] fix zc varaiable names
    • bob.devtools!175 Make pytorch packages to depend on the cpuonly package
    • bob.devtools!182 Bob ip view dependencies: Waiting on MR for bob.conda Dependencies: - pyopengl - pyqtgraph - qtpy - qdarkstyle
    • bob.devtools!184 Use the new docker image in nightlies as well: Fixes bob/bob.devtoolsbob/bob.devtools#61
    • bob.devtools!185 Add make to the list of dependencies
    • bob.devtools!186 [conda_build_config] Upgrade numpy and mkl to be compatible with the latest bob-devel
    • bob.devtools!187 [nightlies ci] remove redundant variables from builds
    • bob.devtools!183 Add Anaconda compilers during bdt create: This ensures packages installed from source in the environment are ABI compatible with the conda environment packages
    • bob.devtools!189 [conda-build] Update bob-devel version
    • bob.devtools!188 Add a sphinx command to help with migrating to sphinx 3
    • bob.devtools!190 Add an alternative command to nightlies: This is like nightlies with resume. You can avoid rebuilding all packages.
    • bob.devtools!192 Slightly bump bob/beat-dev to add pytest support
    • bob.devtools!193 Fix var name in conda_build_config.yaml: pytest-cov -> pytest_cov in conda_build_config.yaml.
    • bob.devtools!194 Allows extra pip-installable packages to be installed in every newly created environment: This MR brings in a new feature to bdt create. It lets users auto-pip-install packages during a bdt create phase. These packages can be pre-configured inside ~/.bdtrc to avoid the repeatitive task of enumerating stuff you always install.
    • bob.devtools!195 Rename nosetests specific mark expression to be more...: This MR generalizes nose-test unit attributes so that pytest adopters can also benefit from the same setup. This should allow a smooth transition from nose to pytest.
    • bob.devtools!196 Fix excessive logging after executing conda functions: This MR fixes repetitive logging that occurs after executing conda functions. After inspection, conda alters the root logger of the logging module by resetting its level and adding 2 handlers that communicate directly to stderr. This MR introduces a context manager that undoes this inappropriate change. To use it, it is sufficient to write calls to the conda API with context manager.
    • bob.devtools!198 Update conda_build_config.yaml to the latest: Small bump to bob/beat-devtools to fix a temporary pytorch==1.7 issue.
    • bob.devtools!197 Removed python 3.6 support
    • bob.devtools!199 [repodata-patches] Add dataclasses and future to Pytorch: Also remove the cpuonly patch from Pytorch packages related to conda#79
    • bob.devtools!200 Fixed global recipe: The yaml single-package is broken
    • bob.devtools!201 Bumped minimal version of tensorflow: to 2.3.0
    • bob.devtools!202 Add opencv: Add opencv build in bob.conda. Waiting on MR in bob-devel.
    • bob.devtools!204 Prepare CI files for macos+arm integration: This small change prepares our scripts to have M1 (ARM) based macOS builds co-existing with Intel ones.
    • bob.devtools!203 Bumped macos min version to 10.10: Shall we test? Nightlies are failing for more than a week because of that.
    • bob.devtools!205 Pin smmap to fix an issue with gitdb bad pinning: This is a temporary fix for CI build issues with gitdb (bad pinning of smmap).
    • bob.devtools!206 Temporary fix to issue bob/bob.devtoolsbob/bob.devtools#70 - bob.devtools!170 Don't update conda first in bootstrap and Allow changing the server in badges
    • bob.devtools!171 Specify the upload channel explicitly: Related to bob/bob.devtools#58
    • bob.devtools!173 Use format string rather than f string in bootstrap.py: Python 3.6 syntax cannot be used yet Fixes bob.devtools#59
    • bob.devtools!184 Use the new docker image in nightlies as well: Fixes bob.devtools#61
    • bob.devtools!206 Temporary fix to issue bob.devtools#70
    • bob.devtools!207 Minor bob/beat-devel bump
    • bob.devtools!208 Add pytables dependency: Add pytables dependency. Waiting on related MR in bob/conda
    • bob.devtools!209 Bump beat/bob-devel: [conda_build_config] Bump bob/beat-devel to fix bob.ip.binseg#5 issues (caused by pytorch bogus deps)
    • bob.devtools!211 Add missing informations for Linux CI runner: - gitlab-runner user setup to use Docker - beat/beat.editor> missing dependencies
    • bob.devtools!210 bdt dav upload automatically adds checksum to filename on remote: Adds an option (--checksum) to let bdt automatically augment the filename on the remote with the first 8 digits of its sha256sum. Fixes bob.devtools#64
    • bob.devtools!212 Ci checks: Enables some sanity checks in the CI: - Make sure packages have a pyproject.toml file - Runs pre-commit checks if they exist
    • bob.devtools!213 Fix nightlies commands
    • bob.devtools!214 Remove mac builds from our CI builds \m/
    • bob.devtools!215 Revert "Merge branch 'happily-remove-mac-from-ci-builds' into 'master'": This reverts merge request bob.devtools!214
    • bob.devtools!216 Python 3.9 updates and bump to miniconda installer: * Update to latest miniconda installer (4.9.2) * Use python=3.9 for bdt installation * Update python-gitlab and docformatter dependencies * Update setup.py to match dependences in conda/meta.yaml * Fixes bob.devtools#69 after upstream fixes
    • !246 [archive] Archiving bob.pad.vein [skip-ci]
    • !247 Added make as test req.
    • !248 Removed bob.db.mobio and bob.db.multipie: This will probably fix the py38 nightlies ping @andre.anjos @ydayer
  • v8.0.0
    Release v8.0.0
    • bob.buildout!40 [script] Revert fixes done to tackle issue bob.buildout#15: Revert fixes done to tackle issue bob.buildout#15. https://bugs.python.org/issue30167 is fixed since a couple of years (I cannot reproduce the error anymore on all supported Python versions)
    • bob.extension!112 [utils] Numpy documentation webpage has moved: Fixes bob.extension#74
    • bob.extension!113 Added [dask] inventory files
    • bob.extension!114 Add xarray index for docs
    • bob.extension!115 Breaking change: [click_helper][ResourceOption] Use self.name as the attribute_name in loading of config files and improved docs
    • bob.io.video!19 Make reader and writer classes picklable: Fixes bob.io.video#16
    • bob.ip.draw!5 Deprecating package
    • bob.ip.gabor!12 Serialization: Serialized bob.ip.gabor.Jet.
    • bob.ip.gabor!13 Resolve "JetStatistics divides by the wrong value": Closes bob.ip.gabor#5
    • bob.learn.linear!12 Made bob.learn.linear.Machine picklable: As mentioned in bob.bio.face!64 the small hacks made in bob.bio.base to handle pickled stuff is giving more headaches than it should.
    • bob.learn.linear!13 Fixed arguments input_subtract and input_divide during serialization
    • gridtk!33 Arbitrary extra arguments for SGE: Adds a new option to jman submit, -e/--sge-extra-args, to pass arbitray extra arguments to qsub.
    • gridtk!34 Verbose flags were separating parameters: Fixes gridtk#34 The -v flags were separating the -d option (set database name) and the database name argument, in gridtk.sge._submit_to_grid, during the wrapper command generation. This was not a problem with 0 verbosity, since no v was inserted.
    • bob.ip.qualitymeasure!14 [conda] make bob.io. packages test requirements: Fixes bob.ip.qualitymeasure#5
    • bob.db.mobio!15 New mobile protocol.: Created a new mobile protocol "mobile0-male-female". This one, 'dev' and 'eval' are not gender-specific
    • bob.bio.base!183 Remove usage of numpy.testing.decorators: Fixes bob.bio.base#132
    • bob.bio.base!170 Explain how new databases are configured: using bob's global configuration system
    • bob.bio.base!191 Resolve "check_existence flag incorrectly handled in filelistdatabase query": Closes bob.bio.base#134
    • bob.bio.base!198 Fixing and adding features to the scores generation script: I was using the score 'gen' script, but needed some features. Added: - A way of specifying how the number of scores is defined (number of subjects and probes, or manually specified); - A way to generate different scores for dev and eval; - Tests for the gen script. Changed: - The way the scores are generated (each probe against each reference model, instead of randomly). Fixed: - Duplicate click options (-p); - 'positive scores' were generated with a 'negative scores' variable.
    • bob.bio.face!60 Removed outdated COPYING and updated MANIFEST.in: This merge request fixes an inconsistency in the licenses. The copying file hadn't been removed and the MANIFEST.in file was still using it. This patch fixes both.
    • bob.bio.vein!45 add eval group to utfvp database: In this MR, eval group is added to the utfvp database. Please note that eval group is defined in nom protocol and it was missed in the previous version of bob.bio.vein. Many thanks to @andre.anjos for all his help!
    • bob.pad.base!71 Configure tests: Similar to bob.bio.base!183 Some classes are picked up by test runners while they are not UnitTest classes. Fixes bob.pad.base#33
    • bob.pad.base!72 Update OneClassGMM2.py: Updating joblib import.
    • bob.fusion.base!12 Make the model optional in the scatter plot
    • bob.ip.tensorflow_extractor!15 Tensorflow 2 compatibility: Fixes bob.ip.tensorflow_extractor#9
    • bob.ip.tensorflow_extractor!16 Make FaceNet pickalable: In this MR FaceNet was made picklable. Two things were necessary. 1. Organize the initialization of the public variables of the facenet class 2. Add a semaphore to control two critical regions (call and getstate). This allows Dask to smoothly do multithreading.
    • bob.learn.pytorch!42 Tensorboard: * Adds native torch logger
    • bob.ip.binseg!13 Cleanup model implementation: Cleans up model implementation to: * Re-use all backbones from torchvision * Simplify checkpointer * Remove own implementation of model_zoo * Implement normalization for torchvision-based backbones * Enable pytorch installation on osx
    • bob.ip.binseg!14 Fix test after nomenclature change: [test.test_cli] Closes bob.ip.binseg#2
    • bob.ip.binseg!15 Support for multi-GPU machines, improved random seed settings and reproducibility
  • v7.0.0
    Release v7.0.0
    • Breaking Changes:
    • bob.extension!106 Removed Dependency graph script: moved this to bob.devtools Closes bob.extension#62
    • Other Important Changes:
    • bob.extension!109 [click] lookup in the config files before env var: This changes the behavior of loading options in ResourceOptions Since the config files are given explicitly, similar to command line options, it's better to look there first before looking into env variables.
    • bob.extension!110 [click] ResourceOption can be used without ConfigCommand: related to bob.fusion.base#8
    • bob.measure!97 Add Area Under ROC Curve (AUC): Add the function called bob.measure.roc_auc_score. Add the AUC computation to bob measure metrics command. Fixes bob.measure#2
    • bob.measure!98 Separate semilogx and TPR options in ROC plots: Also, ran black on some code files.
    • bob.bio.base!179 Separate semilogx and TPR options in ROC plots: Depends on bob.measure!98
    • bob.bio.base!176 Add bob bio annotate-samples command: This command works very similar to bob bio annotate except that works without a db interface. Instead, it requires a list of samples and two functions to do the job.
    • bob.bio.face!59 [mtcnn-annotator] replace it bob.ip.mtcnn with bob.ip.tensorflow_extractor
    • bob.bio.video!40 Improve FrameContainer and FrameSelector to be more memory efficient: * FrameContainers can now load a subset of themselves from an HDF5 file * FrameSelectors now can handle bob.io.video.reader instances to avoid loading the whole video into memory.
    • bob.pad.base!65 Separate semilogx and TPR options in ROC plots: Depends on bob.measure!98
    • bob.pad.base!66 Fix the wrong total number reported in metrics: Fixes bob.measure#61
    • bob.pad.base!68 Add a GMM Algorithm (moved from bob.pad.voice)
    • bob.pad.base!70 Improve the metrics command with AUC and relaxed threshold criteria
    • bob.pad.face!99 Add the BRSU database (note that bob.db.brsu is not public yet, but will be soon).
    • bob.pad.face!100 Resolve "Remove dependencies with caffe": Closes bob.pad.face#33
    • bob.pad.face!102 [database] added test labels for CASIA-SURF (and corresponding tests)
    • bob.pad.face!103 Improve bbox_cropper in load_utils.py
    • bob.pad.face!104 Improve high level database interfaces
    • bob.pad.voice!18 Deprecate the GMM algorithm
    • bob.fusion.base!11 [click] ResourceOption usage is changed.: Depends on bob.extension!110 Fixes bob.fusion.base#8
    • bob.learn.tensorflow!79 Add keras-based models, add pixel-wise loss, other improvements: * d47eae91 Add dataset_to_hdf5 command * cc8a142a EPSC estimators and losses * 8e274774 improve block extraction * b9583f15 Add a parallel read option to dataset_from_tfrecords * a8bc6541 Add an extra feed option to the extractors * 1c3fdb10 improve logging for vat loss * 9058f1a8 Add more logging to bob tf cache-dataset * e7445a23 Save one best evaluation checkpoint by default * c82154ef Allow architectures to provide the logits layer * 281e1c26 Add more logging to the predict commands * ac7d3eda Add a pixel wise loss * 2f7fec82 Add keras-based models * c9311f9c Move utils to the utils folder * 70e0b85 Allow shuffle on epoch end in generator * 54a8032 add a function to load png images * 036a308 improve logging * e155ed5 improve logging in losses * fa76538 add center loss, mmd loss, and pairwise confusion loss * d957c74 make sure densenet layer names are consistent * 63993d4 nitpick * cda150d add starting point options to the style transfer script * 7fabc04 Add more utils * cb9744b new keras models * 38de7bd Add GAN tools * f6e1bb5 implement random rotate * aece6e1 improve the generator and biogenerator classes * 6e6adde nitpick * b9cc5a9 handle nans in network predictions * 27e73ae cast labels to required format * 8082804 fix imports * b9fd76b Add model_summary to keras utils * 4a714e0 add more option to reproducible * 3241c38 Add keras version of models * f481311 remove six dependency * 36c3f4b Add a Gaussian blur filter
    • bob.learn.pytorch!40 Deeppixbis extractor: Added the extractor for DeepPixBiS, since it was not present here, but only in the following paper package: bob.paper.deep_pix_bis_pad.icb2019 I guess it's better to have it here as well bob/bob.learn.pytorch!
    • bob.ip.binseg!9 Minor fixes: This MR includes the following features: 1. Makes it explicit the conversion to RGB images in image pre-processing pipelines 2. Adds a transform for converting between 16-bit and 8-bit PNG images 3. Allows the inferencer to work with globs instead of fixed paths (+ adaptations to this where needed) 4. Adds documentation for imagefolderinference 5. Adds explicit dependence to bob.core, required by the 16/8 bit PNG converters 6. Fixes an issue related to the conda recipe (see bob.devtools#44 and bob.devtools!127)
  • v6.1.2
    Release v6.1.2
    • Python 3.7 support
    • bob.extension!103 Resolve "bob config fixes"
    • bob.extension!104 [config] added confirmation prompt before deleting anything from global config file
    • bob.measure!95 Improve threshold calculation in ROC, DET, and Precision and Recall plots
    • bob.measure!96 Add an alpha option to ROC,DET,EPC figures: Also, enables you to change the default value in tablefmt option.
    • gridtk!29 Automatically remove G from memory commands in GPU queues
    • gridtk!30 Refresh the status of jobs from SGE before listing them
    • bob.pad.base!63 Use plot.roc instead of plot.roc_for_far in vulnerability ROC plots
    • bob.db.oulunpu!6 Add support for external annotations
    • bob.learn.boosting!10 Do not build a library to avoid C++ API incompatibilities (see bob.learn.boosting#2): This is not a "fix" to bob.learn.boosting#2, but makes the package work again by avoiding a CMake-library that may have an incompatible C++ ABI.
    • bob.learn.em!37 Fixing possible issue with numpy.ndarray.resize: This fixes bob.learn.em#31 for python 3.7
    • bob.db.atnt!11 Using bob.extension download script
    • bob.bio.base!178 Fixed issue with numpy.ndarray.resize py37
    • bob.pad.base!63 Use plot.roc instead of plot.roc_for_far in vulnerability ROC plots
    • bob.ip.tensorflow_extractor!14 Corrected the external link to FaceNet model: If someone from outside Idiap is trying to use FaceNet model, it would not download it, since downloading from google drive requires cookies now. So, the link is replaced to the one on Dropbox.
    • bob.learn.pytorch!37 Use matplotlib to save images: The old one breaks for the new scipy version; replaces image saving with matplotlib.
    • bob.learn.pytorch!39 change async to non_blocking: The async keyword is a reserved keyword in Python 3.7
    • Added the packages bob.db.drive, bob.db.stare, bob.db.chasedb1, bob.db.iostar, bob.db.hrf, bob.db.rimoner3, bob.db.drionsdb, bob.db.refuge, bob.db.drishtigs1, bob.ip.binseg
  • v6.1.1
    Release v6.1.1
    • Python 3.7 support
    • bob.extension!103 Resolve "bob config fixes"
    • bob.extension!104 [config] added confirmation prompt before deleting anything from global config file
    • bob.measure!95 Improve threshold calculation in ROC, DET, and Precision and Recall plots
    • bob.measure!96 Add an alpha option to ROC,DET,EPC figures: Also, enables you to change the default value in tablefmt option.
    • gridtk!29 Automatically remove G from memory commands in GPU queues
    • gridtk!30 Refresh the status of jobs from SGE before listing them
    • bob.pad.base!63 Use plot.roc instead of plot.roc_for_far in vulnerability ROC plots
    • bob.db.oulunpu!6 Add support for external annotations
    • bob.learn.boosting!10 Do not build a library to avoid C++ API incompatibilities (see bob.learn.boosting#2): This is not a "fix" to bob.learn.boosting#2, but makes the package work again by avoiding a CMake-library that may have an incompatible C++ ABI.
    • bob.learn.em!37 Fixing possible issue with numpy.ndarray.resize: This fixes bob.learn.em#31 for python 3.7
    • bob.db.atnt!11 Using bob.extension download script
    • bob.bio.base!178 Fixed issue with numpy.ndarray.resize py37
    • bob.pad.base!63 Use plot.roc instead of plot.roc_for_far in vulnerability ROC plots
    • bob.ip.tensorflow_extractor!14 Corrected the external link to FaceNet model: If someone from outside Idiap is trying to use FaceNet model, it would not download it, since downloading from google drive requires cookies now. So, the link is replaced to the one on Dropbox.
    • bob.learn.pytorch!37 Use matplotlib to save images: The old one breaks for the new scipy version; replaces image saving with matplotlib.
    • bob.learn.pytorch!39 change async to non_blocking: The async keyword is a reserved keyword in Python 3.7
    • Added the packages bob.db.drive, bob.db.stare, bob.db.chasedb1, bob.db.iostar, bob.db.hrf, bob.db.rimoner3, bob.db.drionsdb, bob.db.refuge, bob.db.drishtigs1, bob.ip.binseg
  • v6.1.0
    Release v6.1.0
    • Python 3.7 support
    • bob.extension!103 Resolve "bob config fixes"
    • bob.extension!104 [config] added confirmation prompt before deleting anything from global config file
    • bob.measure!95 Improve threshold calculation in ROC, DET, and Precision and Recall plots
    • bob.measure!96 Add an alpha option to ROC,DET,EPC figures: Also, enables you to change the default value in tablefmt option.
    • gridtk!29 Automatically remove G from memory commands in GPU queues
    • gridtk!30 Refresh the status of jobs from SGE before listing them
    • bob.pad.base!63 Use plot.roc instead of plot.roc_for_far in vulnerability ROC plots
    • bob.db.oulunpu!6 Add support for external annotations
    • bob.learn.boosting!10 Do not build a library to avoid C++ API incompatibilities (see bob.learn.boosting#2): This is not a "fix" to bob.learn.boosting#2, but makes the package work again by avoiding a CMake-library that may have an incompatible C++ ABI.
    • bob.learn.em!37 Fixing possible issue with numpy.ndarray.resize: This fixes bob.learn.em#31 for python 3.7
    • bob.db.atnt!11 Using bob.extension download script
    • bob.bio.base!178 Fixed issue with numpy.ndarray.resize py37
    • bob.pad.base!63 Use plot.roc instead of plot.roc_for_far in vulnerability ROC plots
    • bob.ip.tensorflow_extractor!14 Corrected the external link to FaceNet model: If someone from outside Idiap is trying to use FaceNet model, it would not download it, since downloading from google drive requires cookies now. So, the link is replaced to the one on Dropbox.
    • bob.learn.pytorch!37 Use matplotlib to save images: The old one breaks for the new scipy version; replaces image saving with matplotlib.
    • bob.learn.pytorch!39 change async to non_blocking: The async keyword is a reserved keyword in Python 3.7
  • v6.0.0
    Release v6.0.0
  • v1.2.3
    32619dc9 · [version] Update to 1.2.3 ·
  • v5.0.0
    Release v5.0.0
    • bob.buildout
      • v2.1.7 (Jul 17, 2018 12:17)
    • bob.extension
      • v3.0.0 (Jun 27, 2018 13:53)
        • Breaking and significant changes:
        • Removed bob_new_version script bob.extension!76
        • Implemented bob click command bob.extension!64 bob.extension!73
        • bob.extension!77 bob.extension!74 bob.extension!75
        • Detailed changes:
        • bob.extension!75 Fix a bug when commands where invoked multiple times
        • bob.extension!72 Added the function bob.extension.download_and_unzip in
        • the core functionalities: Closes bob.extensionbob.extension#50
        • bob.extension!77 Fix list option
        • bob.extension!64 Implementation of the bob script using click: Fixes
        • bob.extensionbob.extension#44
        • bob.extension!79 added support for pytorch doc
        • bob.extension!80 Add scikit-learn intersphinx mapping
        • bob.extension!81 Add prefix aliasing for bob commands
        • bob.extension!83 Fixed issue with bz2 files: For some reason, it is not
        • possible to open some bz2 files for reading ('r:bz2') using the
        • tarfile module. For instance, this is failing with the dlib
        • landmarks model. If I use the bz2 module it works. This patch uses
        • the bz2 module for bz2 compressed files.
        • bob.extension!82 Resolve "The -DBOOST_VERSION flag has unnecessary and
        • unwanted quotes": Closes bob.extensionbob.extension#58
        • bob.extension!76 Resolve "Documentation should be improved": [doc] added
        • the reference to NumPy style docstrings, added note on new package
        • instructions, added corresponding links Closes bob.extensionbob.extension#55
      • v3.1.0 (Jul 17, 2018 12:23)
    • bob.blitz
      • v2.0.16 (Jul 17, 2018 12:34)
        • bob.blitz!11 [sphinx] Fixed doctest: Close bob.blitzbob.blitz#12
    • bob.core
      • v2.2.1 (Jul 17, 2018 12:52)
        • bob.core!17 Adapted the documentation to the new behavior of version
        • exporting: When merging bob.extensionbob.core!82, this MR will update the
        • according documentation.
        • bob.core!16 Use log modules from bob.extension
    • bob.io.base
      • v3.0.4 (Jul 17, 2018 13:11)
        • bob.io.base!25 Resolve "HDF5_VERSION is computed but never used": Closes
        • bob.io.basebob.io.base#19
    • bob.math
      • v3.1.2 (Jul 17, 2018 13:38)
        • bob.math!18 Fixing SVD test: Just fixing the sign of the last
        • eigenvector. More info check it out bob.mathbob.math#10
    • bob.measure
      • v4.0.0 (Jul 17, 2018 13:57)
        • Breaking and significant changes:
        • Removed the old plotting scripts (compute_perf.py, etc.).
        • Added a new 2-column score format specific to bob.measure.
        • Implemented generic metrics and plotting scripts. Do ``bob measure
        • --help`` to see the new scripts and refer to the documentation.
        • Matplotlib 2.2 and above is required now.
        • Some biometric-related-only functionality is moved to bob.bio.base.
        • Detailed changes:
        • bob.measure!52 generic plotting script for bob measure: From
        • bob.measurebob.measure#37, provide generic plotting scripts: * bob measure
        • evaluate * bob measure hist * bob measure hter * ...
        • bob.measure!55 Change option name criter to criterion
        • bob.measure!56 Fix error in context name
        • bob.measure!57 Extend bins number option
        • bob.measure!58 Change variable name form criter to criterion
        • bob.measure!59 Bug fix: incorrect input file reading
        • bob.measure!60 Bugfix
        • bob.measure!54 Refactors the score loading and scripts functionality:
        • This merge request: * Move the biometric related functionality of
        • bob.measure to bob.bio.base. * Add confidence interval calculations *
        • Provide a score format for bob.measure with load functionalities *
        • Provide a generic plotting script bob measure in bob.measure using
        • bob.measure input file format: * bob measure metrics: to compute
        • thresholds and evaluate performances * bob measure roc: to plot
        • ROC * bob measure det: to plot DET * bob measure hist:
        • to plot histograms * bob measure epc : to plot EPC * `bob
        • measure evaluate: applies all the above commands at once * bob
        • measure gen: to generate fake scores for bob.measure` Each command
        • accepts one or several (dev,eval) score(s) file(s) for each system.
        • bob.measure!61 Title and histograms subplots: Account for this
        • bob.bio.basebob.measure!146bob.measure#note_28760.
        • Titles can be remove using an empty string, i.e. -t ' ' *
        • Histograms support subplot display, see options --subplots * Add
        • --legends-ncol option
        • bob.measure!62 Improve legends in histograms
        • bob.measure!48 recompute far values in roc_for_far: Fixes bob.measurebob.measure#27
        • bob.measure!44 Compute roc using roc_for_far internally: Fixes
        • bob.measurebob.measure#26
        • bob.measure!43 Resolve "FAR and FRR thresholds are computed even when
        • there is no data support": Closes bob.measurebob.measure#27 Also changes
        • behavior of far_threshold and frr_threshold where the returned threshold
        • guarantees the at most the requested far/frr value.
        • bob.measure!63 Enable semilogx option in roc curves: * Fixes
        • bob.measurebob.measure#40 * Remove 0 points on x-axis in semilogx plots.
        • Matplotlib 2 was doing this automatically before but matplotlib 2.2
        • doesn't * Code clean-up
        • bob.measure!64 Fix semilog plots for non numpy arrays: Fixes
        • bob.bio.basebob.measure#117
        • bob.measure!65 Modification of criterion_option: Correct display of
        • available criteria
        • bob.measure!66 Add prefix aliasing: Prefix aliasing using AliasedGroup
        • for bob.extension
        • bob.measure!68 Change --eval option default and Various fixes: Change
        • defaults, clean unused options for histograms. Fix bob.bio.basebob.measure#112
        • bob.measure!69 Explain that the thresholds might not satisfy the
        • requested criteria: * Add a helper eer function for convenience.
        • bob.measure!50 Generic loading input file: Add a generic input file
        • loading function for bob measure and its corresponding test. From issue
        • bob.measurebob.measure#39, comments bob.measurebob.measure#39bob.measure#note_26366.
        • bob.measure!71 Fix issues with matplotlib.hist.: For some reason
        • mpl.hist hangs when n_bins is set to auto. This is related with
        • https://github.com/numpy/numpybob.measure#8203 This MR set the default value to
        • doane. Furthermore, allows you to pick one of the options here
        • https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.htmlbob.measure#numpy.histogram
        • This will fix one of the points here bob.pad.basebob.measure!43
        • bob.measure!72 Various improvements: Fix bob.measurebob.measure#41 and
        • bob.measurebob.measure#42
        • bob.measure!70 Improvements to new metrics codes
        • bob.measure!73 Histogram legends: Fix bob.measurebob.measure#44
        • bob.measure!74 Bins histograms: Option only depends on the number of
        • data plotter per histograms, not the number of system. For example, pad
        • hist requires 2 nbins and vuln hist requires 3 independently on the
        • number of systems to be plotted. Fix bob.measurebob.measure#45.
        • bob.measure!75 Fix issue with histo legends: Fix bob.measurebob.measure#47 Also
        • change default for number of legend columns. Add comments and doc in
        • the code for Hist.
        • bob.measure!76 Histo fix: Fix typo and bob.pad.basebob.measure!43bob.measure#note_31884
        • bob.measure!77 dd lines for dev histograms: See
        • bob.pad.basebob.measure!43bob.measure#note_31903
        • bob.measure!78 Metrics: All stuff related to bob.measurebob.measure#46.
        • bob.measure!79 Add a command for multi protocol (N-fold cross
        • validation) analysis
        • bob.measure!80 Consider non 1 values negatives: This will make
        • bob.measure scripts work with FOFRA scores
        • bob.measure!81 Compute HTER using FMR and FNMR: As discussed in the
        • meeting. Fixes bob.measurebob.measure#48
        • bob.measure!83 Enable grid on all histograms
        • bob.measure!84 Improve the constrained layout option
        • bob.measure!82 Various fixes: * Change measure metrics * Document and
        • change HTER * add decimal precision option for metric * Use acronyms
        • instead of full names in figures * Remove filenames form figures and
        • add log output instead
        • bob.measure!86 Fix decimal number control for metrics: Fixes
        • bob.measurebob.measure#52
        • bob.measure!88 Fix tests: Should fix bob.nightliesbob.measure#40
        • bob.measure!67 Titles: Allow list of titles and remove (development)
        • (evaluation) when default titles are modified
        • bob.measure!45 Condapackage
        • bob.measure!85 Fix broken commands cref bob.extensionbob.measure!86
        • bob.measure!53 Change the way the scores arguments are passed to the
        • compute() function: it now: Change the way the scores arguments are
        • passed to the compute() function: it now does not rely on dev,eval pairs
        • anymore and can take any number of different files (e.g. train)
        • bob.measure!87 Update documentation and commands: FAR->FPR, FRR->FNR:
        • Fix bob.measurebob.measure#54
    • bob.io.image
      • v2.4.2 (Jul 17, 2018 14:23)
        • bob.io.image!41 Resolve "versions of image libraries are evaluated by
        • hand and given as parameters on the compiler command line": Closes
        • bob.io.imagebob.io.image#32
    • bob.db.base
      • v3.0.1 (Jul 17, 2018 14:45)
        • bob.db.base!42 Handle errors when loading db interfaces: Fixes
        • bob.db.basebob.db.base#24
    • bob.io.video
    • bob.io.matlab
      • v2.0.12 (Jul 17, 2018 16:51)
    • bob.io.audio
      • v2.0.8 (Jul 17, 2018 17:35)
        • bob.io.audio!7 Resolve "version relies on compiler command line
        • parameter": Closes bob.io.audiobob.io.audio#6
    • bob.sp
      • v2.0.12 (Jul 17, 2018 17:59)
    • bob.ap
      • v2.1.7 (Jul 17, 2018 18:23)
        • [sphinx] Fixed doc tests
    • bob.ip.base
      • v2.2.2 (Jul 17, 2018 18:42)
        • bob.ip.base!16 Add a block_generator function. Fixes bob.ip.basebob.ip.base#11
        • [sphinx] Fixed doc tests
    • bob.ip.color
      • v2.0.12 (Jul 17, 2018 19:08)
    • bob.ip.draw
      • v2.0.11 (Jul 17, 2018 19:26)
    • bob.ip.gabor
      • v2.0.13 (Jul 17, 2018 19:43)
    • bob.learn.activation
      • v2.0.12 (Jul 17, 2018 20:10)
    • bob.learn.libsvm
      • v2.1.1 (Jul 17, 2018 20:28)
        • bob.learn.libsvm!9 Resolve "LIBSVM_VERSION is passed as a string to the
        • compiler, but evaluated as uint64_t in the code": Closes
        • bob.learn.libsvmbob.learn.libsvm#10
    • bob.learn.linear
      • v2.1.4 (Jul 17, 2018 20:47)
        • [sphinx] Fixed doc tests
    • bob.learn.mlp
      • v2.1.8 (Jul 17, 2018 21:07)
        • [sphinx] Fixed doc tests
    • bob.learn.boosting
      • v2.0.15 (Jul 17, 2018 21:26)
    • bob.db.iris
      • v2.1.3 (Jul 17, 2018 21:47)
    • bob.learn.em
      • v2.1.2 (Jul 17, 2018 22:09)
        • [sphinx] Fixed doc tests
    • bob.db.wine
      • v2.0.11 (Jul 17, 2018 22:29)
    • bob.db.mnist
      • v2.2.1 (Jul 17, 2018 22:43)
      • v2.2.2 (Jul 18, 2018 09:38)
    • bob.db.atnt
      • v2.0.12 (Jul 18, 2018 09:47)
    • bob.ip.facedetect
      • v2.1.6 (Jul 18, 2018 10:02)
        • [sphinx] Fixed doc tests
    • bob.ip.optflow.hornschunck
      • v2.0.15 (Jul 18, 2018 10:13)
    • bob.ip.optflow.liu
      • v2.0.14 (Jul 18, 2018 10:35)
    • bob.ip.flandmark
      • v2.1.8 (Jul 18, 2018 10:57)
    • gridtk
      • v1.6.2 (Jul 18, 2018 11:23)
        • gridtk!21 remove the submitted command line column when not long: Fixes
        • gridtkgridtk#27
        • gridtk!20 Resolve "jman fails when jobs are deleted before they are
        • finished": Closes gridtkgridtk#26
        • gridtk!22 Memory argument sets gpumem parameter for gpu queues: Fixes
        • gridtkgridtk#24
        • gridtk!23 Accept a plus sign for specifying the job ranges
    • bob.ip.qualitymeasure
      • v1.1.1 (Jul 18, 2018 11:27)
    • bob.ip.skincolorfilter
      • v0.0.5 (Jul 18, 2018 11:52)
    • bob.ip.facelandmarks
      • v1.0.6 (Jul 18, 2018 12:11)
    • bob.ip.dlib
      • v1.0.5 (Jul 18, 2018 12:35)
        • bob.ip.dlib!13 Removed bob_to_dlib_image_convertion functions and
        • replaced them to bob.io.image.to_matplotlib: CLoses bob.ip.dlibbob.ip.dlib#6
        • bob.ip.dlib!11 Fix in the download mechanism
    • bob.ip.mtcnn
      • v0.0.1 (May 23, 2018 17:56)
        • First release
        • bob.ip.mtcnn!4 Added conda recipe: Closes bob.ip.mtcnnbob.ip.mtcnn#2 We don't
        • have a caffe for Mac OSX in the defaults channel. This can be an issue
        • for the bob.pad.face builds.
        • bob.ip.mtcnn!5 Deleted the fuctions bob_to_dlib_image_convertion and…:
        • Deleted the fuctions bob_to_dlib_image_convertion and
        • dlib_to_bob_image_convertion and replaced them by the
        • bob.io.color.to_matplotlib Closes bob.ip.mtcnnbob.ip.mtcnn#3 [sphinx] Fixed
        • plots
        • bob.ip.mtcnn!6 [conda] Fixed conda recipe for the nightlies build issue
        • bob.ip.mtcnnbob.ip.mtcnn#5: Closes bob.ip.mtcnnbob.ip.mtcnn#5
      • v1.0.0 (May 23, 2018 20:01)
        • First release
      • v1.0.1 (Jul 18, 2018 12:56)
    • bob.db.arface
      • v2.1.6 (Jul 18, 2018 13:24)
    • bob.db.asvspoof
      • v1.2.1 (Jul 18, 2018 13:38)
    • bob.db.asvspoof2017
      • v1.1.1 (Jul 18, 2018 13:55)
        • bob.db.asvspoof2017!5 Update link to avspoof 2017
    • bob.db.atvskeystroke
      • v2.1.7 (Jul 18, 2018 14:09)
    • bob.db.avspoof
      • v2.3.1 (Jul 18, 2018 14:23)
    • bob.db.banca
      • v2.1.7 (Jul 18, 2018 14:45)
    • bob.db.biosecure
      • v2.1.7 (Jul 18, 2018 15:09)
    • bob.db.biosecurid.face
      • v2.1.10 (Jul 18, 2018 15:23)
    • bob.db.casme2
      • v2.1.7 (Jul 18, 2018 15:38)
    • bob.db.caspeal
      • v2.1.7 (Jul 18, 2018 15:52)
    • bob.db.cohface
      • v1.1.1 (Jul 18, 2018 16:07)
    • bob.db.frgc
      • v2.1.5 (Jul 18, 2018 16:31)
    • bob.db.gbu
      • v2.1.6 (Jul 18, 2018 17:40)
    • bob.db.hci_tagging
      • v1.1.1 (Jul 18, 2018 17:55)
    • bob.db.ijbc
      • v1.0.0 (Jul 19, 2018 15:03)
        • First release
    • bob.db.kboc16
      • v2.1.1 (Jul 18, 2018 18:26)
    • bob.db.lfw
      • v2.1.7 (Jul 18, 2018 18:40)
    • bob.db.livdet2013
      • v2.1.1 (Jul 18, 2018 18:56)
    • bob.db.mobio
      • v2.2.1 (Jul 18, 2018 19:10)
    • bob.db.msu_mfsd_mod
      • v2.2.5 (Jul 18, 2018 19:25)
    • bob.db.multipie
      • v2.1.6 (Jul 18, 2018 19:41)
    • bob.db.nist_sre12
      • v3.0.5 (Jul 18, 2018 20:18)
    • bob.db.putvein
      • v1.3.1 (Jul 18, 2018 21:08)
      • v1.3.2 (Jul 18, 2018 21:58)
    • bob.db.replay
      • v3.0.5 (Jul 18, 2018 22:07)
    • bob.db.replaymobile
    • bob.db.scface
      • v2.1.7 (Jul 18, 2018 22:36)
    • bob.db.utfvp
      • v3.0.1 (Jul 18, 2018 22:51)
    • bob.db.verafinger
      • v2.0.2 (Jul 18, 2018 23:07)
    • bob.db.fv3d
      • v1.1.2 (Jul 18, 2018 23:22)
    • bob.db.voicepa
      • v1.1.1 (Jul 19, 2018 00:55)
    • bob.db.xm2vts
      • v2.1.6 (Jul 19, 2018 10:21)
    • bob.db.youtube
      • v2.1.6 (Jul 19, 2018 10:36)
    • bob.db.pericrosseye
      • v1.0.3 (Jul 19, 2018 10:51)
    • bob.db.maskattack
      • v0.0.1 (Jul 20, 2018 21:25)
        • first release
    • bob.bio.base
      • v4.0.0 (Jul 19, 2018 11:05)
        • Breaking and significant changes
        • Removed the old evaluate.py script.
        • Functionality to load biometric scores are now in bob.bio.base.score
        • Added new scripts for plotting and evaluations. Refer to docs.
        • Added a new baselines concept. Refer to docs.
        • Detailed changes
        • bob.bio.base!147 Update installation instructions since conda's usage
        • has changed.
        • bob.bio.base!148 Archive CSU: closes bob.bio.basebob.bio.base#109
        • bob.bio.base!146 Add 4-5-col files related functionalities and add
        • click commands: In this merge: * Add loading functionalities from
        • bob.measure * Add the following click commands (as substitutes for
        • old script evaluate.py) using 4- or 5 - scores input files: * `bob
        • bio metrics *bob bio roc *bob bio det *bob bio
        • epc *bob bio hist *bob bio evaluate` : calls all the
        • above commands at once * bob bio cmc * bob bio dic *
        • bob bio gen Plots follow ISO standards. The underlying
        • implementation of the mentioned commands uses bob.measure base
        • classes. Fixes bob.bio.basebob.bio.base#108
        • bob.bio.base!149 Set io-big flag for the demanding grid config: Closes
        • bob.bio.basebob.bio.base#110 Anyone cares to review this one? It's harmless.
        • bob.bio.base!143 Set of click commands for bio base: From
        • bob.bio.basebob.bio.base#65 Provide commands in bio base: - bob bio metrics
        • bob bio roc - bob bio evaluate (Very similar to evalute.py)
        • bob.bio.base!152 Removed unused import imp and solving bob.bio.basebob.bio.base#83:
        • Closes bob.bio.basebob.bio.base#83
        • bob.bio.base!153 Added the protocol argument issue bob.bio.basebob.bio.base#111:
        • Closes bob.bio.basebob.bio.base#111
        • bob.bio.base!154 Fixes in ROC and DET labels
        • bob.bio.base!157 Fixed bob bio dir x_labels and y_labels: The labels of
        • the DIR plot were incorrect.
        • bob.bio.base!155 Write parameters in a temporary config file to enable
        • chain loading: Fixes bob.bio.basebob.bio.base#116
        • bob.bio.base!150 Exposing the method groups in our FileDatabase API
        • bob.bio.base!158 Add prefix aliasing for Click commands
        • bob.bio.base!160 Titltes: Allows a list of titles Fixes
        • bob.bio.basebob.bio.base#121. Requires bob.measurebob.bio.base!67
        • bob.bio.base!159 Resolve "Documentation does not include a link to the
        • recordings of the IJCB tutorial": Closes bob.bio.basebob.bio.base#122
        • bob.bio.base!161 Change --eval option default and Various fixes: fixes
        • bob.bio.basebob.bio.base#112. Add and clean histo options. See
        • bob.measurebob.bio.base!67bob.bio.base#note_30951 Requires bob.measurebob.bio.base!68
        • bob.bio.base!163 Reduce repition between commands: Depends on
        • bob.measurebob.bio.base!70
        • bob.bio.base!162 Removed traces of evaluate.py in the documentation
        • bob.bio.base!164 Fix test according to changes in nbins option
        • bob.bio.base!165 Set names for different bio metrics: Bio specific names
        • for metrics when using bob.measure Metrics
        • bob.bio.base!166 Add a command for multi protocol (N-fold cross
        • validation) analysis: Similar to bob.measurebob.bio.base!79
        • bob.bio.base!167 Various fixes: Requires bob.measurebob.bio.base!82 Similar to
        • bob.measurebob.bio.base!82 for bio commands
        • bob.bio.base!168 Documentation changes in bob bio annotate: Depends on
        • bob.extensionbob.bio.base!86
        • bob.bio.base!156 Using the proper verify script depending on system:
        • Closes bob.bio.basebob.bio.base#119
        • bob.bio.base!151 Created the Baselines Concept
        • bob.bio.base!169 Change assert to assert_click_runner_result
    • bob.bio.gmm
      • v3.2.2 (Jul 19, 2018 11:31)
        • bob.bio.gmm!19 Fix bob.measure->bob.bio.base related issues: Fixes
        • bob.bio.gmmbob.bio.gmm#25
        • bob.bio.gmm!20 argument allow_missing_files wrongly passed to qsub
        • bob.bio.gmm!21 IVector - Fix LDA rank: With this MR we make sure that
        • the dimension of the LDA matrix is not higher than its rank.
    • bob.bio.face
      • v4.0.0 (Jul 19, 2018 12:20)
        • Breaking changes:
        • Dropped support for CSU baselines
        • Detailed changes:
        • bob.bio.face!47 Accept an annotator in FaceCrop: related to
        • bob.bio.facebob.bio.face#26
        • bob.bio.face!48 Dropped support to CSU baselines issue bob.bio.facebob.bio.face#29
        • bob.bio.face!51 Removing baselines: Related to this MR bob.bio.face!49
        • bob.bio.face!50 Ijbc highlevel
        • bob.bio.face!49 Refactoring baselines: Now we can all the facerec
        • baselines can be reached via bob bio baselines --help. Refer to
        • docs.
    • bob.bio.spear
      • v3.2.1 (Jul 19, 2018 17:46)
        • bob.bio.spear!40 Handle mute audio correctly: Fixes bob.bio.spearbob.bio.spear#31
      • v3.2.2 (Jul 19, 2018 18:23)
        • bob.bio.spear!40 Handle mute audio correctly: Fixes bob.bio.spearbob.bio.spear#31
    • bob.bio.video
      • v3.4.2 (Jul 19, 2018 18:32)
        • bob.bio.video!35 Add video wrappers using chain loading: Fixes
        • bob.bio.videobob.bio.video#12
        • bob.bio.video!36 Load videos frame by frame in annotators: Related to
        • bob.bio.videobob.bio.video#13
    • bob.bio.vein
    • bob.db.voxforge
      • v2.3.2 (Jul 20, 2018 09:30)
        • bob.db.voxforge!20 Handling the --help command in download_and_untar
        • script: Fixes bob.db.voxforgebob.db.voxforge#12
        • bob.db.voxforge!18 Fixed the index.rst to match joint docs requirements
    • bob.db.ijba
      • v2.1.1 (Jul 20, 2018 19:39)
    • bob.rppg.base
      • v1.1.0 (Jun 22, 2018 08:58)
        • Initial conda release for rPPG algorithms
        • Bug correction in the CHROM algorithm
        • Python 2 and 3 compatibility
        • Improved documentation (mostly Python API)
      • v2.0.0 (Jun 27, 2018 15:52)
        • getting rid of bob.db.* dependencies
        • usage of configuration files
      • v2.0.1 (Jul 20, 2018 10:13)
        • bob.rppg.base!8 Resolve "Potential bug when computing average color from
        • mask": Closes bob.rppg.basebob.rppg.base#15
        • bob.rppg.base!7 Fixed recipe to test all modules
    • bob.pad.base
      • v2.1.0 (Jul 20, 2018 10:34)
        • Significant changes:
        • Added new plotting and evaluation scripts. Refer to docs.
        • Detailed Changes:
        • bob.pad.base!52 Change assert to assert_click_runner_result
        • bob.pad.base!50 Add new classification algorithms: As mentioned here
        • bob.pad.base!33 here is the new branch
        • bob.pad.base!51 Fix broken commands cref bob.extensionbob.pad.base!86
        • bob.pad.base!48 Various fix: Requires bob.measurebob.pad.base!82 Similar to
        • bob.measurebob.pad.base!82 for PAD
        • bob.pad.base!45 Allow PAD filelist database to be used in vulnerability
        • experiments
        • bob.pad.base!47 Remove bob vuln metrics and evaluate commands: since
        • they were not well defined and we do not know what should be in there.
        • rename --hlines-at to --fnmr in bob vuln roc,det commands small
        • nit-pick fixes overall
        • bob.pad.base!43 Finalization of plots: Fixes bob.pad.basebob.pad.base#22. Requires
        • merge bob.measurebob.pad.base!65. Requires bob.measurebob.pad.base!67
        • bob.pad.base!46 Add a command for multi protocol (N-fold cross
        • validation) analysis: Depends on bob.measurebob.pad.base!79
        • bob.pad.base!44 Remove the grid_search.py entrypoint: Fixes
        • bob.pad.basebob.pad.base#23
        • bob.pad.base!41 Set of click commands for pad: Provide commands: bob
        • pad metrics bob pad epc bob pad epsc bob pad gen
        • bob.pad.base!42 Set of click commands for pad: Provide commands: bob
        • pad metrics bob pad epc bob pad epsc bob pad gen
        • added MLP and LDA classifiers for PAD
    • bob.pad.face
      • v2.1.0 (Jul 20, 2018 11:10)
        • bob.pad.face!68 Improve load_utils.py: * Plus some minor fixes to the
        • frame-diff method
        • bob.pad.face!67 HLDI for the CelebA database and quality estimation
        • script: This MR contains two contributions: 1. The High Level DB
        • interface for the CelebA database. 2. The quality assessment script +
        • config file allowing to estimate the quality of preprocessed CelebA
        • images.
        • bob.pad.face!66 Added an option to exclude specific types of attacks
        • from train set in BATL DB: This allows to exclude specific PAIs from the
        • training set of the BATL DB. PAIs currently handled: makeup.
        • bob.pad.face!65 Updated the HLDI of BATL DB, added FunnyEyes fix, and
        • protocol joining test and dev sets
        • bob.pad.face!64 Add support for external annotations in replaymobile
        • bob.pad.face!60 Change the API of yield_faces
        • bob.pad.face!62 Add a script for analyzing database face sizes
        • added preprocessors and extractors for pulse-based PAD.
    • bob.pad.voice
      • v1.0.5 (Jun 27, 2018 16:00)
        • Fix imports and add an alias for PadVoiceFile
        • experimental audio eval: support for 2, 3 layers lstms
        • Fix error related to bob.measure->bob.bio.base movings Fixes
        • bob.pad.voicebob.pad.voice#4
        • bob.pad.voice!14 Fix error related to bob.measure->bob.bio.base movings:
        • Fixes bob.pad.voicebob.pad.voice#4
        • bob.pad.voice!15 Fix imports and add an alias for PadVoiceFile
      • v1.0.6 (Jul 20, 2018 11:55)
    • bob.pad.vein
      • v1.0.1 (Jul 20, 2018 12:23)
        • Fix database tests
    • bob.db.oulunpu
    • bob.db.uvad
      • v0.0.2 (Jul 20, 2018 17:19)
    • bob.db.cuhk_cufs
      • v2.2.1 (May 23, 2018 16:55)
      • v2.2.2 (Jul 20, 2018 18:12)
    • bob.db.cbsr_nir_vis_2
      • v2.0.2 (May 23, 2018 17:35)
        • Removed deprecated entrypoints
        • Ported to the new CI
      • v2.0.3 (Jul 20, 2018 18:35)
    • bob.db.nivl
      • v0.0.1 (May 23, 2018 18:15)
        • First release
      • v1.0.0 (May 24, 2018 11:37)
        • First release
      • v1.0.1 (Jul 20, 2018 18:50)
    • bob.db.pola_thermal
      • v0.0.1 (May 23, 2018 18:57)
        • First release
      • v1.0.0 (May 24, 2018 11:54)
        • First release
      • v1.0.1 (Jul 20, 2018 19:07)
    • bob.db.cuhk_cufsf
      • v0.0.1 (May 23, 2018 19:10)
        • First release
      • v1.0.0 (May 24, 2018 12:09)
        • First release
      • v1.0.1 (Jul 20, 2018 19:24)
    • bob.ip.tensorflow_extractor
    • bob.ip.caffe_extractor
    • bob.bio.caffe_face
      • v1.1.1 (Jul 20, 2018 20:54)
  • v4.0.1
    Release v4.0.1
    • Made the pip dependencies optional too.
  • v4.0.0
    Release v4.0.0
    • bob.buildout
      • v2.1.3 (Sep 22, 2017 10:37)
        • port to new CI/CD
      • v2.1.4 (Sep 22, 2017 11:34)
        • port to new CI/CD
      • v2.1.5 (Sep 22, 2017 13:58)
        • no significant changes
      • v2.1.6 (Feb 27, 2018 16:29)
        • Enables built-in conda packaging
        • Provides user/development guides
        • Provides an alternative for gdb (based on lldb) for MacOS
        • Improve handling of environments for Python 3.6 (issue bob.buildout#24)
    • bob.extension
      • v2.5.0 (Apr 10, 2018 13:10)
        • Big changes to the documentation of this package: divided guide in
        • package development and package creation; added section for implementing
        • configuration and command-line application for bob extensions.
        • Initial implementation for a (more) centrally-available python-based
        • configuration system. The implementation is based on the config-file
        • support that existed in bob.bio.base. Since the initial port, it has
        • improved quite a lot to support a number of features. Check the
        • documentation for details and how to use these on your packages.
        • Initial implementation of a command-line infrastructure for bob
        • packages. The implementation is based on click and extensible to other
        • packages in the Bob framework. Check the documentation for details.
        • Added support for stacked processors
        • Fixes for compilation from scratch on newer versions of gcc, namely by
        • having a more comprehensive use of "-isystem"
        • Improvements to our internal search-path functionality for building
        • other packages
        • Ported to new CI/CD
    • bob.blitz
      • v2.0.15 (Apr 10, 2018 13:35)
        • Migrate to conda based CI
    • bob.core
      • v2.2.0 (Apr 10, 2018 14:02)
        • Migrate to conda based CI
        • Fix test values (closes bob.corebob.core#8)
        • Use log modules from bob.extension
        • improve tests
    • bob.io.base
      • v3.0.3 (Apr 10, 2018 14:33)
        • Migrate to conda based CI
    • bob.math
      • v3.1.0 (Apr 10, 2018 15:30)
        • Migrate to conda based CI
        • Add blas features
        • trust numpy in finding blas/lapack. Fixes bob.mathbob.math#14
      • v3.1.1 (Apr 10, 2018 16:32)
        • No changes.
    • bob.measure
      • v3.0.0 (Apr 10, 2018 17:05)
        • Fixed issue with FAR and FRR values being exactly 1 or 0
        • Corrected the threshold calculation in far_threshold() and frr_threshold(), which now guarantees to produce at most of given FAR or FRR values.
        • Never return NaNs for far_threshold() and frr_threshold() functions
        • Optimized implementation of ROC for a given FAR
        • Added an option to capture the output in a log file
        • Updated docs and tests accordingly
    • bob.io.image
      • v2.4.0 (Apr 10, 2018 17:48)
        • Fixed issue with PGM image load when such images have extra bytes, see bob.io.image!36
        • Relax matplotlib requirement bob.io.image!39
        • Migrate to conda based CI
      • v2.4.1 (Apr 10, 2018 18:25)
        • No changes.
    • bob.db.base
      • v3.0.0 (Apr 10, 2018 18:55)
        • Migrate to conda based CI
        • Implemented local file upload bob.db.basebob.db.base#20
        • Added support for JSON annotation format
        • Unified use of original_directory and original_extension
        • Minor improvements
    • bob.io.video
      • v2.1.0 (Apr 10, 2018 19:15)
        • Migrate to conda based CI
        • adjust test values to openh264
        • Revamped code for ffmpeg-3.1+ s
        • Fixes bob.io.videobob.io.video#10
      • v2.1.1 (Apr 17, 2018 10:36)
        • Sligthly increased noise test parameters on mp4 files with mpeg2video codecs (closed bob.io.video#11)
    • bob.io.matlab
      • v2.0.11 (Apr 10, 2018 19:40)
        • Migrate to conda based CI
    • bob.io.audio
      • v2.0.7 (Apr 10, 2018 20:02)
        • Migrate to conda based CI
    • bob.sp
      • v2.0.11 (Apr 10, 2018 20:26)
        • Migrate to conda based CI
    • bob.ap
      • v2.1.6 (Apr 10, 2018 20:50)
        • Migrate to conda based CI
    • bob.ip.base
      • v2.2.0 (Apr 10, 2018 21:14)
        • Improved compatibility for non-C++-11 compilers
        • Migrate to conda based CI
        • Fix matplotlib requirement
      • v2.2.1 (Apr 10, 2018 21:55)
        • No changes.
    • bob.ip.color
      • v2.0.11 (Apr 10, 2018 22:35)
        • Migrate to conda based CI
    • bob.ip.draw
      • v2.0.10 (Apr 11, 2018 09:46)
        • Migrate to conda based CI
    • bob.ip.gabor
      • v2.0.12 (Apr 11, 2018 10:31)
        • Migrate to conda based CI
    • bob.learn.activation
      • v2.0.11 (Apr 11, 2018 11:38)
        • Migrate to conda based CI
    • bob.learn.libsvm
      • v2.1.0 (Apr 11, 2018 12:24)
        • Migrate to conda based CI
        • Makes sure we can load/save files with arbitrary extensions
    • bob.learn.linear
      • v2.1.3 (Apr 11, 2018 13:23)
        • Migrate to conda based CI
    • bob.learn.mlp
      • v2.1.7 (Apr 11, 2018 15:17)
        • Migrate to conda based CI
    • bob.learn.boosting
      • v2.0.14 (Apr 11, 2018 15:45)
        • Migrate to conda based CI
    • bob.db.iris
      • v2.1.2 (Apr 11, 2018 16:17)
        • Migrate to conda based CI
    • bob.learn.em
      • v2.1.1 (Apr 11, 2018 16:42)
        • Migrate to conda based CI
        • Add test time dependencies
        • remove unused ref 5. please see bob.learn.embob.learn.em#27
    • bob.db.wine
      • v2.0.10 (Apr 11, 2018 17:22)
        • Migrate to conda based CI
    • bob.db.mnist
      • v2.2.0 (Apr 11, 2018 17:44)
        • Migrate to conda based CI
        • Now download metadata during build
    • bob.db.atnt
      • v2.0.11 (Apr 11, 2018 18:06)
        • Migrate to conda based CI
    • bob.ip.facedetect
      • v2.1.5 (Apr 11, 2018 18:29)
        • Migrate to conda based CI
    • bob.ip.optflow.hornschunck
      • v2.0.14 (Apr 11, 2018 19:03)
        • Migrate to conda based CI
    • bob.ip.optflow.liu
      • v2.0.13 (Apr 11, 2018 19:51)
        • Migrate to conda based CI
    • bob.ip.flandmark
      • v2.1.7 (Apr 11, 2018 20:38)
        • Migrate to conda based CI
    • gridtk
      • v1.5.0 (Nov 20, 2017 09:07)
      • v1.6.0 (Apr 11, 2018 21:23)
        • jgen tool: added an option --unique-aggregate to make the aggregate output unique
        • Migrate to conda based CI
        • Improve tests and docs
      • v1.6.1 (Apr 12, 2018 11:11)
        • no changes.
    • bob.ip.qualitymeasure
      • v1.1.0 (Apr 12, 2018 14:08)
        • Migrated to conda based CI
        • Updates in the README
        • Removed bootstrap-buildout functionality
        • Added an optional reference image to Galbally IQM extractor
    • bob.ip.skincolorfilter
      • v0.0.4 (Apr 12, 2018 14:41)
        • Migrate to conda based CI
    • bob.ip.facelandmarks
      • v1.0.5 (Apr 12, 2018 15:08)
        • Migrate to conda based CI
    • bob.ip.dlib
      • v1.0.2 (Oct 19, 2017 10:18)
        • Fixed issue with possible negative coordinates and empty image
      • v1.0.3 (Apr 12, 2018 15:34)
        • Migrate to conda based CI
        • Improved documentation and tests
      • v1.0.4 (Apr 12, 2018 16:10)
        • No changes.
    • bob.db.arface
      • v2.1.4 (Sep 22, 2017 14:17)
      • v2.1.5 (Apr 12, 2018 18:00)
        • Migrate to conda based CI
    • bob.db.asvspoof
      • v1.1.7 (Sep 22, 2017 14:18)
        • Docs updates
      • v1.2.0 (Apr 12, 2018 18:25)
        • Migrate to conda based CI
        • Removed redundant debug_asvspoof script
    • bob.db.asvspoof2017
      • v1.0.3 (Sep 22, 2017 14:20)
        • Docs updates
      • v1.1.0 (Apr 12, 2018 18:49)
        • Migrate to conda based CI
        • Removed redundant debug_asvspoof2017 script
    • bob.db.atvskeystroke
      • v2.1.5 (Sep 22, 2017 14:21)
      • v2.1.6 (Apr 12, 2018 19:05)
        • Migrate to conda based CI
    • bob.db.avspoof
      • v2.2.8 (Sep 22, 2017 14:22)
      • v2.3.0 (Apr 12, 2018 19:21)
        • Migrate to conda based CI
        • Removed redundant debug_avspoof.py script
    • bob.db.banca
      • v2.1.5 (Sep 22, 2017 14:22)
      • v2.1.6 (Apr 12, 2018 19:42)
        • Migrate to conda based CI
    • bob.db.biosecure
      • v2.1.5 (Sep 22, 2017 14:22)
      • v2.1.6 (Apr 12, 2018 20:02)
        • Migrate to conda based CI
    • bob.db.biosecurid.face
      • v2.1.8 (Sep 22, 2017 14:22)
      • v2.1.9 (Apr 12, 2018 20:20)
        • Migrate to conda based CI
    • bob.db.casme2
      • v2.1.5 (Sep 22, 2017 14:23)
      • v2.1.6 (Apr 12, 2018 20:38)
        • Migrate to conda based CI
    • bob.db.caspeal
      • v2.1.5 (Sep 22, 2017 14:23)
      • v2.1.6 (Apr 12, 2018 20:56)
        • Migrate to conda based CI
    • bob.db.cohface
      • v1.0.4 (Sep 22, 2017 14:24)
      • v1.1.0 (Apr 12, 2018 21:14)
        • Migrate to conda based CI
        • Add a ref to the package name
    • bob.db.frgc
      • v2.1.3 (Sep 22, 2017 14:24)
      • v2.1.4 (Apr 12, 2018 21:39)
        • Migrate to conda based CI
    • bob.db.gbu
      • v2.1.4 (Sep 22, 2017 14:24)
      • v2.1.5 (Apr 12, 2018 22:00)
        • Migrate to conda based CI
    • bob.db.hci_tagging
      • v1.0.4 (Sep 22, 2017 14:28)
      • v1.1.0 (Apr 12, 2018 22:22)
        • Migrate to conda based CI
        • Add a ref to the package name
    • bob.db.ijba
      • v2.0.3 (Sep 22, 2017 14:28)
      • v2.1.0 (Apr 12, 2018 23:13)
        • Added missing dependency to bob.io.image (from bob.db.base)
        • Migrate to conda based CI
        • Added bob.measure as requirement
        • Some functionality was moved to bob.bio.face
    • bob.db.kboc16
      • v2.0.11 (Sep 22, 2017 14:28)
      • v2.1.0 (Apr 12, 2018 23:40)
        • Migrate to conda based CI
        • Add a ref to the package name
    • bob.db.lfw
      • v2.1.5 (Sep 22, 2017 14:28)
      • v2.1.6 (Apr 13, 2018 00:04)
        • Migrate to conda based CI
    • bob.db.livdet2013
      • v2.0.6 (Sep 22, 2017 14:29)
      • v2.1.0 (Apr 13, 2018 00:30)
        • Migrate to conda based CI
        • This package does not download metadata (closes bob.db.livdet2013bob.db.livdet2013#1)
        • Add a ref to the package name
    • bob.db.mobio
      • v2.1.5 (Sep 22, 2017 14:29)
      • v2.2.0 (Apr 13, 2018 00:49)
        • Update README.rst
        • Migrate to conda based CI
    • bob.db.msu_mfsd_mod
      • v2.2.3 (Sep 22, 2017 14:29)
      • v2.2.4 (Apr 13, 2018 01:13)
        • Migrate to conda based CI
    • bob.db.multipie
      • v2.1.4 (Sep 22, 2017 14:29)
      • v2.1.5 (Apr 13, 2018 01:38)
        • Migrate to conda based CI
    • bob.db.nist_sre12
      • v3.0.3 (Sep 22, 2017 14:30)
      • v3.0.4 (Apr 13, 2018 02:02)
        • Migrate to conda based CI
    • bob.db.putvein
      • v1.2.1 (Sep 22, 2017 14:30)
      • v1.3.0 (Apr 13, 2018 02:39)
        • Fix packaging warnings
        • Migrate to conda based CI
        • Stop downloading metadata (closes bob.db.putveinbob.db.putvein#2)
    • bob.db.replay
      • v3.0.3 (Sep 22, 2017 14:31)
      • v3.0.4 (Apr 13, 2018 03:19)
        • Migrate to conda based CI
    • bob.db.replaymobile
      • v1.1.3 (Sep 22, 2017 14:31)
      • v1.1.4 (Apr 13, 2018 03:40)
        • Migrate to conda based CI
    • bob.db.scface
      • v2.1.5 (Sep 22, 2017 14:31)
      • v2.1.6 (Apr 13, 2018 04:01)
        • Migrate to conda based CI
    • bob.db.utfvp
      • v2.4.1 (Sep 22, 2017 14:32)
        • Packaging changes - no changes to software.
      • v3.0.0 (Apr 13, 2018 04:22)
        • Migrate to conda based CI
        • Overall database refactoring; Improved docs and tests
        • Add information on the annotations
    • bob.db.verafinger
      • v1.0.0 (Oct 11, 2017 14:24)
      • v2.0.0 (Apr 13, 2018 05:18)
        • Migrate to conda based CI
        • Add information on the annotations
        • Unify biometric/presentation-attack interfaces
        • Implement cropped biometric recognition protocols
        • Improved documentation and simplified protocol files
      • v2.0.1 (Apr 13, 2018 08:01)
        • No changes.
    • bob.db.fv3d
      • v1.0.0 (Oct 11, 2017 15:42)
        • Distribute metadata from webserver
      • v1.1.0 (Apr 13, 2018 08:21)
        • Fixes to model.id -> model.name as model identifier
        • Migrate to conda based CI
      • v1.1.1 (Apr 13, 2018 09:15)
        • No changes.
    • bob.db.voicepa
      • v1.0.2 (Sep 22, 2017 14:34)
      • v1.1.0 (Apr 13, 2018 12:14)
        • Migrate to conda based CI
        • fixing issue bob.db.voicepabob.db.voicepa#1
    • bob.db.xm2vts
      • v2.1.4 (Sep 22, 2017 14:36)
      • v2.1.5 (Apr 13, 2018 12:51)
        • Migrate to conda based CI
    • bob.db.youtube
      • v2.1.4 (Sep 22, 2017 14:37)
      • v2.1.5 (Apr 13, 2018 13:12)
        • Migrate to conda based CI
    • bob.db.pericrosseye
      • v1.0.2 (Apr 13, 2018 13:30)
        • Migrate to conda based CI
    • bob.db.cuhk_cufs
      • v2.2.0 (Apr 13, 2018 13:49)
        • Created methods modality_separator and modalities
        • Included test case for objects.modality
    • bob.bio.base
      • v3.2.0 (Sep 22, 2017 10:55)
      • v3.2.1 (Sep 26, 2017 15:04)
        • Changed backend in bob/bio/base/scripts/evaluate.py to 'pdf' instead of 'agg'
      • v3.3.0 (Apr 13, 2018 15:14)
        • Migrate to conda based CI
        • Updated docs and tests
        • Added allow_missing_files option and added tests
        • Removed write_commands function in grid_search (closes bob.bio.basebob.bio.base#71)
        • Added annotator, updated documentation accordingly
        • Allow for comment lines in file-lists
        • Improves verbosity for preprocessing, extraction and enrollment
        • bob.db.base.Database is deprecated.
        • Using config file loading mechanism from bob.extension
        • Fix debug message (closes bob.bio.basebob.bio.base#103)
        • Fixed the exception that is raised when score file is not found
        • Mentions bob.bio.vein on bob.bio.base docs (closes bob.bio.basebob.bio.base#104)
        • Added metadata in preprocessing, feature extraction, and algorithm
        • Removed write_commands function in grid_search (closes bob.bio.basebob.bio.base#71)
        • Improve replace directories
    • bob.bio.gmm
      • v3.1.0 (Sep 22, 2017 14:05)
      • v3.2.0 (Apr 13, 2018 16:07)
        • Migrate to conda based CI
        • Propagated --allow-missing-files to the UBM training
        • Fixed issue bob.bio.gmmbob.bio.gmm#22
      • v3.2.1 (Apr 13, 2018 17:11)
        • No changes.
    • bob.bio.face
      • v3.3.0 (Sep 22, 2017 13:17)
        • bob.bio.face!78 Removed Algorithm.read_probe method, since this is already solved via bob.bio.base
        • bob.bio.face!33 improve the score files by adding attack type information
        • [ci] Droped python 3.4 support and added python 3.6
        • bob.bio.face!30 Updated baseline script to search for executables
      • v3.4.0 (Apr 13, 2018 17:55)
        • Implemented IJBA customized plot
        • Make the original_directory and annotation_directory a property
        • Created IJBB high level interface
        • Added script to display face annotations provided by a database.
        • Migrate to conda based CI
        • improve docs and tests
    • bob.bio.spear
      • v3.1.1 (Sep 22, 2017 14:48)
      • v3.2.0 (Apr 13, 2018 18:22)
        • pass kwargs in the base file class
        • Migrate to conda based CI
        • Improved docs
    • bob.bio.video
      • v3.3.0 (Sep 22, 2017 13:41)
      • v3.4.0 (Apr 13, 2018 18:44)
        • Add function as_array() to FrameContainer
        • Fixed youtube db load function
        • The original_directory and annotation_directory are now a property
        • Migrated to conda based CI
        • Package now added to joint documentation
        • Missing annotations are now handled in the Preprocessor Wrapper
        • Updated unit tests addressing missing annotation cases
        • Preprocessor Wrapper now able to return None, allowing --missing-files functionality
        • Added failsafevideo wrapper
        • Added Video annotator
      • v3.4.1 (Apr 13, 2018 21:19)
        • No changes.
    • bob.bio.vein
      • v1.0.0 (Oct 20, 2017 13:29)
        • Initial release
        • Added bob.db.fv3d
        • Updated sample viewing script
        • Added blame script
        • Re-estructured Preprocessor to simplify experimentation and configuration
        • Unit tests for 3D fingervein database
        • Fixes to Maximum Curvature implementation; Improved references & documentation
        • Speeds-up the evaluation of vein probabilities
        • Updated functionality: If sample does not have ROI, then returns only image
        • Updated documentation: on grid resources and explanation on how to run
        • Added optional pre-cropping stage on preprocessor
        • Implemented normalized-cross-correlation algorithm
        • Added MLP trainer for watershed masker
        • Added watershed mask detector
        • Functionality allowing to view sample using a database name
        • Added Miura-match with rotation support
        • Support for view mode w/o extracted veins
        • Added watershed preprocessing debug-aid script
        • Added High Level Database Interface for putvein database
        • Added the doc and tests and config for the putvein database
        • HammingDistance class plus test
        • Update documentation on baseline results for rlt, mc, and wld
        • Remove Oleg's implementation of rotation-invariant matching
      • v1.0.1 (Oct 20, 2017 16:04)
        • Update MANIFEST.in to include necessary package files
      • v1.1.0 (Apr 13, 2018 21:47)
        • Ported to new CI
        • Updated utfvp interface
        • Fixed the index.rst to match joint docs requirements
        • Adaptations to allow vulnerability analysis
    • bob.db.voxforge
      • v2.2.0 (Sep 24, 2017 11:39)
      • v2.3.0 (Apr 13, 2018 22:22)
        • Migrate to conda based CI
        • Improved docs
        • Removed bob_dbmanage download
      • v2.3.1 (Apr 14, 2018 06:59)
        • No changes.
    • bob.pad.base
      • v2.0.0 (Apr 14, 2018 07:46)
        • Migrate to conda based CI
        • Added --allow-missing-files option
        • Improved documentation
        • Moved from bob.pad.face SVM (bob implementation), one class GMM (scikit-learn) and logistic regression (scikit-learn) algorithms
        • Cleaned up and improved code. Added tests.
        • Replace the old PAD ISO metrics class with a script
        • Added clients option to FileListDB driver
        • Avoids feature blow-up when std==0.
        • Added predictions algorithm and padfile to label.
    • bob.pad.face
      • v2.0.0 (Apr 14, 2018 08:10)
        • Added High Level Database Interface (HLDI) for MIFS database
        • Annotations are added for MIFS database
        • Added a VideoSparseCoding preprocessor
        • Updated the documentation on anomaly detection-based PAD using Aggregated Db
        • Local face detection option was added to VideoFaceCrop class, using dlib and mtcnn
        • Unit tests for the classes used in IQM-GMM pad algorithm
        • Added landmark detection utils
        • Algorithms/classifiers are adapted to other non-face modalities
        • New protocol for Aggregated Database: grandtest-train-eval
        • New protocol for Aggregated Database: grandtest-mobio
        • Frame Selector is now acceptable in HLDIs of all databases
        • Removed bootstrap-buildout.py functionality
        • Added A base PAD file class
        • New protocol for Aggregated Database: grandtest-train-eval-<num_train_samples>
        • bob.extension.rc used in HLDIs
        • Migrated to conda-based CI
        • ALL algorithms are moved to bob.pad.base package
        • Fixed algorithms documentation links, pointing to bob.pad.base now.
        • The documentation of the package now linked to joint documentation properly.
        • Refactoring: duplicated database configs are removed
        • Refactoring: removed VideoQualityMeasure, replaced with Wrapper class
        • Refactoring: removed VideoLBPHistogram, replaced with Wrapper class
        • Refactoring: removed unused VideoDataLoader
        • Refactoring: created FaceCropAlign, replaces ImageFaceCrop + VideFaceCrop using Wrapper
        • Added Spatially Enhanced Histogram option to LBPHistogram class
        • Changes to the FrameDifference preprocessor: Estimate the bounding box
        • from annotations if not available. This is usually estimated from eye
        • annotations. Remove the unused check_face_size flag. Fixed the conda
        • recipe bob.pad.face!63
      • v2.0.1 (Apr 14, 2018 13:20)
        • No changes.
    • bob.pad.vein
  • v3.0.0
    Release v3.0.0
    • bob.extension
    • bob.blitz
      • v2.0.14
          • Fixes in the documentation
    • bob.core
      • v2.1.9
          • Fixes in the documentation
    • bob.io.base
      • v3.0.0
          • Fixes in the documentation
          • HDF5 elements now handles unicode filenames (bob.io.base!7)
          • Created the function bob.io.base.peek, which get the image's information without loading them (issue bob.io.base#24)
      • v3.0.1
          • Unicode file handling (fixed test case)
      • v3.0.2
        • Unicode file handling (fixed test case)
    • bob.sp
      • v2.0.10
          • Fixes in the documentation
    • bob.ap
      • v2.1.5
          • Fixes in the documentation
    • bob.math
      • v3.0.0
          • Fixes in the documentation
          • Updated the parameter order of the bob.math.linsolve function (issue bob.math#1)
          • Removed the "no_check" functions from both, Python and C++, APIs
    • bob.measure
      • v2.4.1
          • Correctly handled NaN values in DIR plot
          • Correctly handled of FAR and FRR thresholds
          • Updated CMC documentation
          • Switched to Numpy style documentation
          • Fixed the dependency with bob.math (>=3.0.0)
          • Fixed FAR and FRR threshold computation and return NaN when threshold cannot be computed
    • bob.db.base
      • v2.3.2
          • Fixes in the documentation
          • Driver upload command uses the DAV infrastructure
    • bob.io.audio
      • v2.0.6
          • Fixes in the documentation
    • bob.io.image
      • v2.3.0
          • Fixes in the documentation
          • Supporting CMYK jpeg images
          • Created the function bob.io.base.peek, which get the image's information without loading them ( issue bob.io.image#24 )
          • <image.h> inlined non-templated functions
          • Add a utility function to convert images from matplotlib format to bob format
    • bob.io.video
      • v2.0.16
          • Fixes in the documentation
          • Loading files with unicode file name
          • Ported to bob::extension documentation
          • Updated Video Reader bindings
      • v2.0.17
        • Unicode file handling (fixed test case)
      • v2.0.18
      • v2.0.19
    • bob.io.matlab
      • v2.0.10
          • Fixes in the documentation
          • Loading files with unicode file name
    • bob.ip.base
      • v2.1.0
          • Fixes in the documentation
          • Enabled the function bob.ip.base.GeomNorm to work with color images bob.ip.base!11
          • Enabled the function bob.ip.base.extrapolate_mask to work with color images bob.ip.base!12
    • bob.ip.color
      • v2.0.10
          • Fixes in the documentation
          • Fixes citations
    • bob.ip.draw
      • v2.0.9
          • Fixes in the documentation
    • bob.ip.gabor
      • v2.0.11
          • Fixes in the documentation
          • Updated references
    • bob.learn.activation
      • v2.0.10
          • Fixes in the documentation
    • bob.learn.libsvm
      • v2.0.13
          • Fixes in the documentation
          • Loading files with unicode file name
    • bob.learn.linear
      • v2.1.2
          • Fixes in the documentation
    • bob.learn.mlp
      • v2.1.6
          • Fixes in the documentation
    • bob.learn.em
      • v2.1.0
          • Removed parameter rng from the ML and MAP trainers (issue bob.learn.em#25)
          • Changed dependency with bob.math (>= 3.0.0) (updated linsolve function)
    • bob.learn.boosting
      • v2.0.13
          • Fixes in the documentation
    • bob.db.iris
      • v2.1.1
          • Fixes in the documentation
    • bob.db.wine
      • v2.0.9
          • Fixes in the documentation
    • bob.db.mnist
      • v2.1.1
          • Fixes in the documentation
    • bob.db.atnt
      • v2.0.10
          • Fixes in the documentation
    • bob.ip.facedetect
      • v2.1.4
          • Fixes in the documentation
    • bob.ip.optflow.hornschunck
      • v2.0.13
          • Fixes in the documentation
    • bob.ip.optflow.liu
      • v2.0.12
          • Fixes in the documentation
    • bob.ip.flandmark
      • v2.1.6
          • Fixes in the documentation
  • v2.7.0
    Release v2.7.0

    Mainly improved documentation thanks to the Documentation hackathon.

    See:

    https://gitlab.idiap.ch/groups/bob/milestones/may-2017-hackathon?title=May+2017+Hackathon

    and

    https://gitlab.idiap.ch/groups/bob/milestones/bob-27x-release?title=Bob+2.7.x+release

    • bob.extension
      • v2.3.9
          • Fixed documentation issues
          • Use non-encrypted version of pythonhosted.org
          • Adds a warning about compiling in debug mode. [doc] Adds a minimal buildout example.
          • Show the output of test commands
          • Changed some compilation flags
          • Show the output of test commands
          • Fix urls to match test expectation
          • Fix version number split
          • More efficient intersphinx mapping
          • Merge branch 'catch_ioerror' into 'master'
          • Add IOError catch clause for locally unavailable paths
          • Allow for multiple documentation server locations
      • v2.3.10
        • This release just removes zc.buildout bootstrapping from this package:
          • Fixes to examples
          • Fixes to documentation
          • Fixes to packaging
      • v2.3.11
        • Bug fix of 2.3.10: removal of zc.buildout bootstrap primitives
      • v2.4.0
    • bob.blitz
      • v2.0.12
          • Updated svg build badges
          • Fixed sphinx documentation
      • v2.0.13
          • Maintenance release.
    • bob.core
      • v2.1.7
          • Changed the C++ logging framework
          • Used svg build badges
          • Updated sphinx docs
      • v2.1.8
          • Maintenance release.
    • bob.io.base
    • bob.sp
      • v2.0.8
          • Used svg build badges
          • Updated sphinx docs
      • v2.0.9
          • Maintenance release.
    • bob.ap
      • v2.1.2
          • Used svg build badges
          • Updated sphinx docs
      • v2.1.3
          • Fixed issue when call to get_shape() of FrameExtractor would crash.
      • v2.1.4
          • Maintenance release.
    • bob.math
      • v2.1.0
          • Binded Generalized SVD from LAPACK
          • Created python bindings for the SVD
          • Fixed signal issue with the SVD
          • Fixed MKL link in OSX
          • Used svg build badges
          • Updated sphinx docs
      • v2.1.1
          • Maintenance release.
    • bob.measure
      • v2.3.0
          • Change the style of function comments
          • Remove nan from scores and report FTA instead Report proper FMR, FNMR, FAR, FRR values
          • Added min_weighted_error_rate_threshold in test for raised exceptions
          • Implemented check on empty arrays for some functions -> raises excpetions now
          • Used svg build badges
          • Updated sphinx docs
          • Load score more efficiently for negatives and positives
          • Changed the ROC curve to implement what is required by 'The Handbook of Face Recognition'
      • v2.4.0
          • bob.measure!28 : Add an option to the epc function to also get the thresholds which were
        • used during calculation
    • bob.db.base
      • v2.2.0
          • Used svg build badges
          • Updated sphinx docs
          • Move some functionality from bob.bio.base.database.BioDatabase to bob.db.base.Database
      • v2.2.1
          • bob.db.base.Database class, use `bob.db.base.FileDatabase' instead
          • database constructor now accepts original_directory and original_extension
          • documentation is updated and improved
      • v2.3.1
    • bob.io.audio
      • v2.0.4
          • Improve compatibility with gcc-4.2.1
          • Used svg build badges
          • Updated sphinx docs
      • v2.0.5
          • Maintenance release.
    • bob.io.image
      • v2.2.1
          • Used svg build badges
          • Updated sphinx docs
          • Added support for 16 bit gray png
      • v2.2.2
        • Changelog:
          • bob.io.image!25 : improve the imshow function to return the output of plt.imshow
        • Known Issues:
    • bob.io.video
      • v2.0.13
          • Used svg build badges
          • Updated sphinx docs
      • v2.0.14
          • Fix the failing tests with numpy 1.12
      • v2.0.15
          • Maintenance release.
    • bob.io.matlab
      • v2.0.8
      • v2.0.9
          • Maintenance release.
    • bob.ip.base
      • v2.0.14
          • Improve compatibility with gcc-4.2.1
          • Used svg build badges
          • Updated sphinx docs
      • v2.0.15
          • Maintenance release.
    • bob.ip.color
      • v2.0.8
          • Used svg build badges
          • Updated sphinx docs
      • v2.0.9
          • Maintenance release.
    • bob.ip.draw
      • v2.0.7
          • Uses svg build badges
          • Updates sphinx docs
      • v2.0.8
          • Maintenance release.
    • bob.ip.gabor
      • v2.0.8
          • Improve compatibility with gcc-4.2.1
          • Used svg build badges
          • Updated sphinx docs
      • v2.0.9
      • v2.0.10
          • Maintenance release.
    • bob.learn.activation
      • v2.0.8
          • Used svg build badges
          • Updated sphinx docs
      • v2.0.9
          • Maintenance release.
    • bob.learn.libsvm
    • bob.learn.linear
      • v2.1.0
          • Testing better SVD for the PCA
          • Implemented Geodesic Flow Kernel for Unsupervised Domain Adaptation
          • Used svg build badges
          • Updated sphinx docs
      • v2.1.1
          • Maintenance release.
    • bob.learn.mlp
      • v2.1.4
          • Used svg build badges
          • Updated sphinx docs
      • v2.1.5
          • Maintenance release.
    • bob.learn.em
      • v2.0.12
          • Improve compatibility with gcc-4.2.1
          • Used svg build badges
          • Updated sphinx docs
          • Fixed issue with the variance flooring in bob.learn.em.Gaussian
      • v2.0.13
          • Revamped the user guide.
    • bob.learn.boosting
      • v2.0.11
          • Improve compatibility with gcc-4.2.1
          • Used svg build badges
          • Updated sphinx docs
      • v2.0.12
          • Maintenance release.
    • bob.db.iris
      • v2.0.8
          • Used svg build badges
          • Updated sphinx docs
          • Updated the driver
      • v2.1.0
          • move the complete example into bob documentation: bob.db.iris!4
    • bob.db.wine
      • v2.0.7
          • Used svg build badges
          • Updated sphinx docs
          • Updated the driver
      • v2.0.8
          • Maintenance release.
    • bob.db.mnist
      • v2.0.7
          • Used svg build badges
          • Updated sphinx docs
          • Use webarchive to download mnist
      • v2.1.0
    • bob.db.atnt
      • v2.0.8
          • Used svg build badges
          • Updated sphinx docs
          • Added bob.io.image as a dependency
      • v2.0.9
    • bob.ip.facedetect
      • v2.1.2
          • Used svg build badges
          • Updated sphinx docs
      • v2.1.3
          • Maintenance release.
    • bob.ip.optflow.hornschunck
      • v2.0.11
          • Used svg build badges
          • Updated sphinx docs
      • v2.0.12
          • Maintenance release.
    • bob.ip.optflow.liu
      • v2.0.10
          • Used svg build badges
          • Updated sphinx docs
      • v2.0.11
          • Maintenance release.
    • bob.ip.flandmark
      • v2.1.4
          • Removed dependency from opencv face detector
          • Fixed issue with the locate() method when the bounding box exceeds the image boundaries
      • v2.1.5
          • Maintenance release.
  • v2.6.2
    Release v2.6.2
    • Add a tutorial.
    • Update installation instructions.
  • v2.6.1
    Release v2.6.1
    • Update installation instructions.
  • v2.6.0
    Release v2.6.0

    For all packages:

    • Used svg build badges
    • Updated sphinx docs

    bob.extension v2.3.9

    • Fixed documentation issues
    • Use non-encrypted version of pythonhosted.org
    • Adds a warning about compiling in debug mode. [doc] Adds a minimal buildout example.
    • Show the output of test commands
    • Changed some compilation flags
    • Show the output of test commands
    • Fix urls to match test expectation
    • Fix version number split
    • More efficient intersphinx mapping
    • Merge branch 'catch_ioerror' into 'master'
    • Add IOError catch clause for locally unavailable paths
    • Allow for multiple documentation server locations

    bob.core v2.1.7

    • Changed the C++ logging framework

    bob.math v2.1.0

    • Implemented Generalized SVD
    • Created python bindings for the SVD
    • Fixed signal issue with the SVD
    • Fixed MKL link in OSX

    bob.measure v2.3.0

    • Change the style of function comments
    • Remove nan from scores and report FTA instead Report proper FMR, FNMR, FAR, FRR values
    • Added min_weighted_error_rate_threshold in test for raised exceptions
    • Implemented check on empty arrays for some functions -> raises excpetions now
    • Load score more efficiently for negatives and positives
    • Changed the ROC curve to implement what is required by 'The Handbook of Face Recognition'

    bob.db.base v2.2.0

    • Move some functionality from bob.bio.base.database.BioDatabase to bob.db.base.Database

    bob.io.audio v2.0.4

    • Improve compatibility with gcc-4.2.1

    bob.io.image v2.2.1

    • Fixed gcc-4.2.1+libstdc++ compatibility (closes #25)
    • Added support for 16 bit gray png

    bob.io.video v2.0.14

    • Fix the failing tests with numpy 1.12

    bob.ip.base v2.0.14

    • Improve compatibility with gcc-4.2.1

    bob.ip.gabor v2.0.8

    • Improve compatibility with gcc-4.2.1

    bob.ip.gabor v2.0.9

    • Fixed bug in the graph constructor (Issue #2)

    bob.learn.linear v2.1.0

    • Testing better SVD for the PCA
    • Implemented Geodesic Flow Kernel for Unsupervised Domain Adaptation

    bob.learn.em v2.0.12

    • Improve compatibility with gcc-4.2.1
    • Fixed issue with the variance flooring in bob.learn.em.Gaussian

    bob.learn.boosting v2.0.11

    • Improve compatibility with gcc-4.2.1

    bob.db.iris v2.0.8

    • Updated the driver

    bob.db.wine v2.0.7

    • Updated the driver

    bob.db.mnist v2.0.7

    • Use webarchive to download mnist

    bob.db.atnt v2.0.8

    • Added bob.io.image as a dependency

    bob.ip.flandmark v2.1.4

    • Removed dependency from opencv face detector
    • Fixed issue with the locate() method when the bounding box exceeds the image boundaries
  • v2.5.1
    Release v2.5.1

    This is a patch release to fix minor issues with Bob 2.5.0. Changes with respect to 2.5.0 are:

    • bob.extension 2.3.3
      • Fixed the url to matplotlib's documentation
    • bob.core 2.1.6
      • Disables logging messages in pure C/C++ code. More details:
      • Added C++ function to set log level
      • Set default C++-only log level to WARNING
      • Moved the cxx_disable test case to C++
  • v2.5.0
    Release v2.5.0
    • bob.extension 2.3.2
      • Fix all sphinx nitpicky warnings
    • bob.blitz 2.0.11
      • Fix all sphinx nitpicky warnings
      • Use https checkout in develop.cfg
    • bob.core 2.1.5
      • Fix all sphinx nit-picky warnings
      • Use https checkout in develop.cfg
    • bob.io.base 2.0.12
      • Fix sphinx nit-picky warnings (docs)
      • Fix test execution on conda-forge (requires bob.core > 2.1.3)
      • Use https checkout in develop.cfg
    • bob.sp 2.0.7
    • Fix all documentation (sphinx) nit-picky warnings
    • Use https checkout in develop.cfg
    • bob.ap 2.1.1
      • Remove all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.math 2.0.6
      • Fix all documentation (sphinx) nit-picky warnings
      • Use https checkout in develop.cfg
    • bob.measure 2.2
      • Use docopt instead of argparse
      • Make script interface more intuitive (remove non-optional options, use arguments)
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Add score distributions to compute_perf
      • Add reporting step to compute_perf
      • Improved CI
      • Use https checkout in develop.cfg
    • bob.db.base 2.1.2
      • Implement a better way to handle missing Sphinx references for imported classes (see #9)
    • bob.io.audio 2.0.3
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.io.image 2.2
      • Adds an imshow method to easily plot images.
      • Fixed buildout config files.
    • bob.io.video 2.0.12
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.io.matlab 2.0.7
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.ip.base 2.0.13
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.ip.color 2.0.7
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.ip.draw 2.0.6
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.ip.gabor 2.0.7
      • Fixed all sphinx warnings
    • bob.learn.activation 2.0.7
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.learn.libsvm 2.0.9
    • Fix all documentation warnings (nit-picky sphinx mode)
    • Use https checkout in develop.cfg
    • bob.learn.linear 2.0.10
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.learn.mlp 2.1.3
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.learn.em 2.0.11
      • Fix all sphinx warnings
    • bob.learn.boosting 2.0.10
      • Fixed all sphinx warnings
    • bob.db.iris 2.0.7
      • Fixed all sphinx warnings
    • bob.db.wine 2.0.6
      • Fixed all sphinx warnings
    • bob.db.mnist 2.0.6
      • Fixed all sphinx warnings
    • bob.db.atnt 2.0.7
      • Fixed all sphinx warnings
    • bob.ip.facedetect 2.1.0
      • New way to group multiple detections (it merges all overlapping detected bounding boxes that are over threshold into one single bounding box).
      • Fixed warnings in the documentation
      • Fixed issue with the Sampler. Instantiate Sampler with correct patch_size, when possible
    • bob.ip.optflow.hornschunck 2.0.10
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.ip.optflow.liu 2.0.9
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
    • bob.ip.flandmark 2.1.3
      • Fix all documentation warnings (nit-picky sphinx mode)
      • Use https checkout in develop.cfg
  • v2.4.0
    Release v2.4.0

    Compared with our last minor version (2.3.4) this one 2.4.0 has the following minor updates:

    • Bumped bob.ap from 2.0.5 to 2.1.0
    • Bumped bob.db.base from 2.0.6 to 2.1.0
    • Bumped bob.extension from 2.3.1 to 2.2.1
    • Deprecated bob.db.verification.utils
    • Added bob.ip.flandmark 2.1.2 as bob core package
  • v2.3.4