bob issueshttps://gitlab.idiap.ch/groups/bob/-/issues2017-11-24T09:05:51Zhttps://gitlab.idiap.ch/bob/bob.pad.face/-/issues/10High-level db interfaces here are not compatible with bob.bio.video2017-11-24T09:05:51ZAmir MOHAMMADIHigh-level db interfaces here are not compatible with bob.bio.videoWhile database interfaces here return frame containers just like databases in `bob.bio.video`, the API is incompatible with bob.bio.video and the frame selector is hard coded inside database interfaces. For an example, see: https://gitla...While database interfaces here return frame containers just like databases in `bob.bio.video`, the API is incompatible with bob.bio.video and the frame selector is hard coded inside database interfaces. For an example, see: https://gitlab.idiap.ch/bob/bob.pad.face/blob/b0a14393f109e8bc15928ade60b0614e34e4b73f/bob/pad/face/database/replay.py#L50 especially line 71.
The way it is written now, not only you cannot use bob.bio.video wrapper classes with the databases here but also they always return all the frames and leave no option to the user.
Again @mguenther would be the best person to explain this.Amir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.db.oulunpu/-/issues/1Nightlies2017-11-28T11:58:09ZTiago de Freitas PereiraNightliesCould someone please have a look at it?
https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/106295
https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/106298
ThanksCould someone please have a look at it?
https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/106295
https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/106298
Thankshttps://gitlab.idiap.ch/bob/bob.pad.face/-/issues/16Nightlies2017-11-28T12:00:21ZTiago de Freitas PereiraNightliesIt seems a consistent issue along the builds.
Could someone please have a look at it?
https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/107120
https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/107123
https://gitlab.idiap.ch/bob/bob.nigh...It seems a consistent issue along the builds.
Could someone please have a look at it?
https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/107120
https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/107123
https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/107122
https://gitlab.idiap.ch/bob/bob.nightlies/-/jobs/107121
Thankshttps://gitlab.idiap.ch/bob/bob.extension/-/issues/46Name clashes when loading several run-time config files.2017-11-30T14:41:08ZAmir MOHAMMADIName clashes when loading several run-time config files.I have noticed the loaded config files are loaded into a module called `config` in [here](https://gitlab.idiap.ch/bob/bob.extension/blob/820afbee3cecf766c1b0b23244be89d88d911168/bob/extension/config.py#L72).
but in bob.bio.base this name...I have noticed the loaded config files are loaded into a module called `config` in [here](https://gitlab.idiap.ch/bob/bob.extension/blob/820afbee3cecf766c1b0b23244be89d88d911168/bob/extension/config.py#L72).
but in bob.bio.base this name is selected randomly each time.
Shouldn't this be like bob.bio.base as well?https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/27Customized tables2017-12-01T12:53:18ZTiago de Freitas PereiraCustomized tablesWould be very practical to have a script similar to `bob.bio.base.script.collect_results` that dumps very nice copy/paste rst table like this one (for the verification protocols):
```
+-----------+-------------- +----------------+------...Would be very practical to have a script similar to `bob.bio.base.script.collect_results` that dumps very nice copy/paste rst table like this one (for the verification protocols):
```
+-----------+-------------- +----------------+-----------------+------------------------------------------+
| CMC(R=1) | FRR (FAR=0.1) | FRR (FAR=0.01) | FRR (FAR=0.001) | directory |
+-----------+---------------+----------------+-----------------+------------------------------------------+
| 96.062% | 12.035% | 42.485% | 74.931% | /vgg16/compare/split1/compare_split1 |
+-----------+---------------+----------------+-----------------+------------------------------------------+
| 96.753% | 11.580% | 36.706% | 63.294% | /vgg16/compare/split2/compare_split2 |
+-----------+---------------+----------------+-----------------+------------------------------------------+
| 95.778% | 11.556% | 47.038% | 69.803% | /vgg16/compare/split3/compare_split3 |
+-----------+---------------+----------------+-----------------+------------------------------------------+
| 97.830% | 11.185% | 36.672% | 62.883% | /vgg16/compare/split4/compare_split4 |
+-----------+---------------+----------------+-----------------+------------------------------------------+
| 95.838% | 12.315% | 43.330% | 66.762% | /vgg16/compare/split5/compare_split5 |
+-----------+---------------+----------------+-----------------+------------------------------------------+
| 95.449% | 11.650% | 45.752% | 72.573% | /vgg16/compare/split6/compare_split6 |
+-----------+---------------+----------------+-----------------+------------------------------------------+
| 96.429% | 10.291% | 41.344% | 64.891% | /vgg16/compare/split7/compare_split7 |
+-----------+---------------+----------------+-----------------+------------------------------------------+
| 95.891% | 10.459% | 36.660% | 65.422% | /vgg16/compare/split8/compare_split8 |
+-----------+---------------+----------------+-----------------+------------------------------------------+
| 95.635% | 14.551% | 43.933% | 69.045% | /vgg16/compare/split9/compare_split9 |
+-----------+---------------+----------------+-----------------+------------------------------------------+
| 96.062% | 12.035% | 42.485% | 74.931% | /vgg16/compare/split10/compare_split10 |
+-----------+---------------+----------------+-----------------+------------------------------------------+
```https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/98Scoring phase is too non-verbose even when `-vvv` is passed2017-12-05T10:25:54ZAndré AnjosScoring phase is too non-verbose even when `-vvv` is passedWhile executing `verify.py`, the preprocessing and extraction of each sample is carefully reported when in `-vvv` mode. The same does not happen when scoring. There is absolutely no output.
It would be good if the scoring bit output the...While executing `verify.py`, the preprocessing and extraction of each sample is carefully reported when in `-vvv` mode. The same does not happen when scoring. There is absolutely no output.
It would be good if the scoring bit output the number of models to be scored and, as it advances from one model to another, a printout of the model-identifier that was just scored.
@mguenther: is that doable?Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.bio.base/-/issues/103Small bug in debug message2017-12-22T18:59:53ZAndré AnjosSmall bug in debug messageThe debug message for "enrollment" has an error that translates to a formatting error if `-vvv` is used:
```text
Traceback (most recent call last):
File "/idiap/resource/software/bob/envs/v300py36/lib/python3.6/logging/__init__.py", l...The debug message for "enrollment" has an error that translates to a formatting error if `-vvv` is used:
```text
Traceback (most recent call last):
File "/idiap/resource/software/bob/envs/v300py36/lib/python3.6/logging/__init__.py", line 992, in emit
msg = self.format(record)
File "/idiap/resource/software/bob/envs/v300py36/lib/python3.6/logging/__init__.py", line 838, in format
return fmt.format(record)
File "/idiap/resource/software/bob/envs/v300py36/lib/python3.6/logging/__init__.py", line 575, in format
record.message = record.getMessage()
File "/idiap/resource/software/bob/envs/v300py36/lib/python3.6/logging/__init__.py", line 338, in getMessage
msg = msg % self.args
TypeError: %d format: a number is required, not str
```
The message should have a ``%s`` instead of ``%d`` for the model name.André AnjosAndré Anjoshttps://gitlab.idiap.ch/bob/bob.extension/-/issues/47Relative imports are not supported by Python configuration loading system2018-01-15T17:17:22ZAndré AnjosRelative imports are not supported by Python configuration loading systemIf a configuration file is a resource in a package, it should be possible to do relative imports. For that, the module name should be correctly set (and not be a fixed string).If a configuration file is a resource in a package, it should be possible to do relative imports. For that, the module name should be correctly set (and not be a fixed string).André AnjosAndré Anjoshttps://gitlab.idiap.ch/bob/bob.extension/-/issues/45possible issue with bob.extension.config.load mechanism2018-01-15T17:17:22ZTiago de Freitas Pereirapossible issue with bob.extension.config.load mechanismIn this part of the code https://gitlab.idiap.ch/bob/bob.extension/blob/master/bob/extension/config.py#L82, the new config load mechanism cleans a lot of stuff from the module loading including information that might be useful (like impo...In this part of the code https://gitlab.idiap.ch/bob/bob.extension/blob/master/bob/extension/config.py#L82, the new config load mechanism cleans a lot of stuff from the module loading including information that might be useful (like imports).
For example, take config file example (lots of test cases from `bob.bio.base` are like that):
```
import numpy
class RandomPrints(object):
def __init__(self):
pass
def __call__(self):
return numpy.random.rand()
random_prints = RandomPrints()
```
When I try to execute it:
```
from bob.extension.config import load
config = load(["bug_config.py"])
print(config["random_prints"]())
```
I got the error:
```
AttributeError: 'NoneType' object has no attribute 'random'
```
The `import numpy` is lost in the context (on purpose).
This issue raises a philosophical question @bob and would be nice to have some feedback from you.
The configs should be just simple configs or should carry some extra complexity (class definitions for instance)?
Thankshttps://gitlab.idiap.ch/bob/bob.extension/-/issues/43Proposal for a centralized configuration system2018-01-15T17:17:22ZAndré AnjosProposal for a centralized configuration systemAs we see today, many of our applications and libraries need to load global configuration. In this ticket, I open the discussion to port the current framework for configuration in bob/bob.bio.base to a centralized package so that it can ...As we see today, many of our applications and libraries need to load global configuration. In this ticket, I open the discussion to port the current framework for configuration in bob/bob.bio.base to a centralized package so that it can be re-used by both low and high-level packages. In particular, I'm targeting what we can do today with `~/.bob_bio_databases.txt`, the mechanism to handle original (raw) data directories and extensions.
The proposal is three-fold:
1. Have a centralised configuration mechanism to setup global parameters needed by the different bob packages (this may include original directories and extensions for bob.db packages, but may also be other stuff). This would replace the mechanism we currently have with ``~/.bob_bio_databases.txt`` with something similar that could be re-used for other high-level applications.
2. Let the low-level databases figure this information out from the global configuration
3. High-level applications should only do something like this:
```python
>>> db = bob.db.LowLevelDatabase() #loads relevant config section, store directory and extension
>>> sample = db.objects(<criteria>)
>>> data = sample.load()
```
With this new model, overriding can still happen in the high-level, but it does not need be unless strictly necessary. To implement the override, the high-level implementor asks users to change the config file, replacing the adequate entry on it. Readout remains the same in both cases which simplifies the high-level applications.
(c.f. bob/bob.db.base#21)https://gitlab.idiap.ch/bob/bob.measure/-/issues/35cannnot provide negative values to the apply_threshold script2018-01-16T16:56:34ZAmir MOHAMMADIcannnot provide negative values to the apply_threshold scriptHere is what I have tried so far:
```sh
bin/bob_apply_threshold.py "-0.4221387" ~/nonorm/scores-dev
Usage: bob_apply_threshold.py [-v...] [options] <threshold> <scores>
bob_apply_threshold.py --help
bob_apply_threshold.py -...Here is what I have tried so far:
```sh
bin/bob_apply_threshold.py "-0.4221387" ~/nonorm/scores-dev
Usage: bob_apply_threshold.py [-v...] [options] <threshold> <scores>
bob_apply_threshold.py --help
bob_apply_threshold.py --version
bin/bob_apply_threshold.py '-0.4221387' ~/nonorm/scores-dev
Usage: bob_apply_threshold.py [-v...] [options] <threshold> <scores>
bob_apply_threshold.py --help
bob_apply_threshold.py --version
bin/bob_apply_threshold.py "'-0.4221387'" ~/nonorm/scores-dev
cannot convert '-0.4221387' into float for threshold
Usage: bob_apply_threshold.py [-v...] [options] <threshold> <scores>
bob_apply_threshold.py --help
bob_apply_threshold.py --version
bin/bob_apply_threshold.py -- -0.4221387 ~/nonorm/scores-dev
Usage: bob_apply_threshold.py [-v...] [options] <threshold> <scores>
bob_apply_threshold.py --help
bob_apply_threshold.py --version
```https://gitlab.idiap.ch/bob/bob.measure/-/issues/34Detection & Identification Curve cannot be right on user's guide2018-01-16T16:56:34ZAndré AnjosDetection & Identification Curve cannot be right on user's guideCan somebody please check?
https://www.idiap.ch/software/bob/docs/bob/bob.measure/master/guide.html#detection-identification-curveCan somebody please check?
https://www.idiap.ch/software/bob/docs/bob/bob.measure/master/guide.html#detection-identification-curveManuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.measure/-/issues/26ROC and DET plots are calculated incorrectly sometimes2018-01-16T16:56:34ZAmir MOHAMMADIROC and DET plots are calculated incorrectly sometimesFollowing the discussion here: https://groups.google.com/forum/#!topic/bob-devel/EIp1nvw5-vQ
Looks like we have a corner case where the scores have a very large peak in their distribution:
![hist_data](/uploads/ee0071522224130f9fa7be...Following the discussion here: https://groups.google.com/forum/#!topic/bob-devel/EIp1nvw5-vQ
Looks like we have a corner case where the scores have a very large peak in their distribution:
![hist_data](/uploads/ee0071522224130f9fa7be7b8508f2e4/hist_data.png)
The scores are also available: [fusion_all_200_datatset.npy](/uploads/fa88359dfdb4d66cdbc54f3e4a677149/fusion_all_200_datatset.npy)
To load them:
```python
>>> scores = numpy.load('fusion_all_200_datatset.npy')
... positives = scores[0]
... negatives = scores[1]
# The negatives are mostly 0
>>> sum(negatives < 9e-16)
51911
>>> sum(negatives < 9e-17)
51525
>>> sum(negatives < 9e-18)
51029
>>> sum(negatives < 9e-20)
49675
>>> sum(negatives < 9e-22)
47543
>>> sum(negatives < 9e-30)
27487
>>> sum(negatives < 9e-60)
0
```
@tiago.pereira may be able to provide a set of smaller scores to debug this.
When I calculate the EER, I get `2.7%`:
```python
>>> scores = numpy.load('fusion_all_200_datatset.npy')
... positives = scores[0]
... negatives = scores[1]
...
>>> threshold = bob.measure.eer_threshold(negatives, positives)
... FAR, FRR = bob.measure.farfrr(negatives, positives, threshold)
...
>>> FAR, FRR
(0.02762483029114497, 0.027626084163186636)
>>> negatives.mean(), negatives.std(), positives.mean(), positives.std()
(3.0290521114232657e-06, 0.00067550514259906739, 0.20795613959959214, 0.32512541269459205)
>>> 100*(FAR+FRR)/2
2.76254572271658
>>> bob.measure.plot.roc(negatives, positives, npoints)
[<matplotlib.lines.Line2D object at 0x7f472a8bed10>]
>>> bob.measure.plot.det(negatives, positives, npoints, color=(0,0,0), linestyle='-', label='test')
... bob.measure.plot.det_axis([0.1, 80, 0.1, 80])
...
[-3.090232246772911, 0.8416212348748217, -3.090232246772911, 0.8416212348748217]
# plot the EER point on the DET curve
>>> pyplot.plot(bob.measure.ppndf(FAR), bob.measure.ppndf(FAR), 'ro')
[<matplotlib.lines.Line2D object at 0x7f472a4dc510>]
```
But when I plot the ROC and DET curves, I get curves with EER of `6%` or more than `20%`:
DET CURVE with around `6%` EER:
![wrong_det](/uploads/6c8c93c1c994f0c256ca1b90087a1484/wrong_det.png)
ROC CURVE with more than `20%` EER:
![wrong_roc](/uploads/4730c633a9c7a6ae0ef0d56227e79e41/wrong_roc.png)May 2017 HackathonAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob/-/issues/226Docker images for Linux builds2018-01-17T09:56:55ZAndré AnjosDocker images for Linux buildsWe should migrate our linux builds to docker images. It will give us better flexibility, simpler builds and re-usable wheels across distributions. Everything we need from the system admins is in place. The next big job is to build the ba...We should migrate our linux builds to docker images. It will give us better flexibility, simpler builds and re-usable wheels across distributions. Everything we need from the system admins is in place. The next big job is to build the base docker image, which should be based on an old Cent OS 5 distribution (for compatibility):
- Base docker container: https://github.com/pypa/manylinux
- Instructions for the runners: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html
On the top of that, we should install our Conda devevelopment environment as from snippet $6.Conda-based CIAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/bob/bob.ip.gabor/-/issues/3Documentation builds requires Latex for matplotlib plots2018-01-17T09:57:39ZAmir MOHAMMADIDocumentation builds requires Latex for matplotlib plotsSince we are not going to have Latex installed in our CI machines anymore, this is failing.
See: https://gitlab.idiap.ch/bob/bob.ip.gabor/-/jobs/91810
```
+ sphinx-build -W /local/builds/bob/bob.ip.gabor/conda/../doc /local/builds/bob/b...Since we are not going to have Latex installed in our CI machines anymore, this is failing.
See: https://gitlab.idiap.ch/bob/bob.ip.gabor/-/jobs/91810
```
+ sphinx-build -W /local/builds/bob/bob.ip.gabor/conda/../doc /local/builds/bob/bob.ip.gabor/conda/../sphinx
Running Sphinx v1.6.3
making output directory...
Adding intersphinx source for `python': https://docs.python.org/2.7/
Adding intersphinx source for `numpy': https://docs.scipy.org/doc/numpy-1.12.0/
Adding intersphinx source for `matplotlib': http://matplotlib.org/
Adding intersphinx source for `setuptools': https://setuptools.readthedocs.io/en/latest/
Found documentation for bob.extension on http://www.idiap.ch/software/bob/docs/bob/bob.extension/master/; adding intersphinx source
Found documentation for bob.blitz on http://www.idiap.ch/software/bob/docs/bob/bob.blitz/master/; adding intersphinx source
Found documentation for bob.core on http://www.idiap.ch/software/bob/docs/bob/bob.core/master/; adding intersphinx source
Found documentation for bob.io.base on http://www.idiap.ch/software/bob/docs/bob/bob.io.base/master/; adding intersphinx source
Found documentation for bob.sp on http://www.idiap.ch/software/bob/docs/bob/bob.sp/master/; adding intersphinx source
loading pickled environment... not yet created
[autosummary] generating autosummary for: c_cpp_api.rst, guide.rst, index.rst, py_api.rst
loading intersphinx inventory from http://www.idiap.ch/software/bob/docs/bob/bob.sp/master/objects.inv...
loading intersphinx inventory from https://docs.python.org/2.7/objects.inv...
loading intersphinx inventory from http://matplotlib.org/objects.inv...
loading intersphinx inventory from http://www.idiap.ch/software/bob/docs/bob/bob.core/master/objects.inv...
loading intersphinx inventory from http://www.idiap.ch/software/bob/docs/bob/bob.extension/master/objects.inv...
loading intersphinx inventory from https://setuptools.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from http://www.idiap.ch/software/bob/docs/bob/bob.blitz/master/objects.inv...
loading intersphinx inventory from http://www.idiap.ch/software/bob/docs/bob/bob.io.base/master/objects.inv...
loading intersphinx inventory from https://docs.scipy.org/doc/numpy-1.12.0/objects.inv...
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 4 source files that are out of date
updating environment: 4 added, 0 changed, 0 removed
reading sources... [ 25%] c_cpp_api
reading sources... [ 50%] guide
sh: latex: command not found
reading sources... [ 75%] index
reading sources... [100%] py_api
Warning, treated as error:
/local/builds/bob/bob.ip.gabor/doc/guide.rst:102: (WARNING/2) Exception occurred in plotting transform
from /local/builds/bob/bob.ip.gabor/doc/plot/transform.py:
Traceback (most recent call last):
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/sphinxext/plot_directive.py", line 651, in render_figures
figman.canvas.figure.savefig(img.filename(format), dpi=dpi)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/figure.py", line 1573, in savefig
self.canvas.print_figure(*args, **kwargs)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/backend_bases.py", line 2252, in print_figure
**kwargs)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/backends/backend_agg.py", line 545, in print_png
FigureCanvasAgg.draw(self)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/backends/backend_agg.py", line 464, in draw
self.figure.draw(self.renderer)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/artist.py", line 63, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/figure.py", line 1144, in draw
renderer, self, dsu, self.suppressComposite)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/image.py", line 139, in _draw_list_compositing_images
a.draw(renderer)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/artist.py", line 63, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/axes/_base.py", line 2426, in draw
mimage._draw_list_compositing_images(renderer, self, dsu)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/image.py", line 139, in _draw_list_compositing_images
a.draw(renderer)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/artist.py", line 63, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/axis.py", line 1138, in draw
renderer)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/axis.py", line 1078, in _get_tick_bboxes
extent = tick.label1.get_window_extent(renderer)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/text.py", line 967, in get_window_extent
bbox, info, descent = self._get_layout(self._renderer)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/text.py", line 353, in _get_layout
ismath=False)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/backends/backend_agg.py", line 230, in get_text_width_height_descent
renderer=self)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/texmanager.py", line 676, in get_text_width_height_descent
dvifile = self.make_dvi(tex, fontsize)
File "/local/builds/bob/bob.ip.gabor/conda-env/bob.ip.gabor_1506366718035/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python2.7/site-packages/matplotlib/texmanager.py", line 423, in make_dvi
report))
RuntimeError: LaTeX was not able to process the following string:
'lp'
Here is the full report generated by LaTeX:
```
Blocks bob.admin#35Conda-based CIAmir MOHAMMADIAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/annotation.video/-/issues/1This package needs to be integrated into bob/bob.ip.annotator2018-01-26T12:48:51ZAndré AnjosThis package needs to be integrated into bob/bob.ip.annotatorAs soon as it is done, we need to archive it.As soon as it is done, we need to archive it.Tiago de Freitas PereiraTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.ip.gabor/-/issues/2Issue when the nodes of the graph are set manually2018-01-29T08:43:49ZTiago de Freitas PereiraIssue when the nodes of the graph are set manuallyHi, I'm working with some periocular images and I did a customized way to define graph.
I know that you can do that setting the keyword argument `nodes` in `bob.ip.gabor.Graph(nodes=nodes)`.
My script is failing with the exception `I...Hi, I'm working with some periocular images and I did a customized way to define graph.
I know that you can do that setting the keyword argument `nodes` in `bob.ip.gabor.Graph(nodes=nodes)`.
My script is failing with the exception `IndexError: tuple index out of range`, which is weird.
I created a simple script that reproduces the problem.
```
import bob.ip.gabor
import bob.io.base
import bob.io.image
import bob.ip.color
import numpy
import math
image = bob.ip.color.rgb_to_gray(bob.io.base.load("landmark.png"))
# create Gabor wavelet transform class
gwt = bob.ip.gabor.Transform(
number_of_scales = 5,
number_of_directions = 8,
sigma = 2. * math.pi,
k_max = math.pi / 2.,
k_fac = math.sqrt(.5),
power_of_k = 0,
dc_free = True)
for i in range(2):
trafo_image = numpy.ndarray((gwt.number_of_wavelets, image.shape[0], image.shape[1]),
numpy.complex128)
nodes = [(10,10),(10,20),(10,30),
(20,10),(20,20),(20,30)]
graph = bob.ip.gabor.Graph(nodes=nodes)
#graph = bob.ip.gabor.Graph(first=(10,10), last=(100,100), step=(10,10))
# perform Gabor wavelet transform
gwt.transform(image, trafo_image)
jets = graph.extract(trafo_image)
print len(jets)
```
Here we have the exception raised:
```
Traceback (most recent call last):
File "error_gabor.py", line 20, in <module>
for i in range(2):
IndexError: tuple index out of range
```
When I try to debug with ipdb, the exception is not raised.
I suspect that we have a memory issue.
We don't have this issue when we I set the grid automatically.
Follow attached the image
![landmark](/uploads/f0ed4cc9e69e835f27cea1f902ead30e/landmark.png)Manuel Günthersiebenkopf@googlemail.comManuel Günthersiebenkopf@googlemail.comhttps://gitlab.idiap.ch/bob/bob.ip.gabor/-/issues/1Issue with the doc Generation2018-01-29T08:43:49ZTiago de Freitas PereiraIssue with the doc GenerationBasically I don't know how to solve this.
I need some help
https://gitlab.idiap.ch/bob/bob.ip.gabor/builds/16503
```
Warning, treated as error:
/local/gitlab-runner/builds/6b02994f/0/bob/bob.ip.gabor/doc/c_cpp_api.rst:54: WARNIN...Basically I don't know how to solve this.
I need some help
https://gitlab.idiap.ch/bob/bob.ip.gabor/builds/16503
```
Warning, treated as error:
/local/gitlab-runner/builds/6b02994f/0/bob/bob.ip.gabor/doc/c_cpp_api.rst:54: WARNING: cpp:type reference target not found: blitz
```
Just a note for the sphinx build, **now warnings are errors**.
Be careful, our documentations are full of warnings.
I fixed almost 50 WARNINGS so far
https://gitlab.idiap.ch/bob/bob.ip.tensorflow_extractor/-/issues/1The extractors does not extend bob.bio.base.extractor.Extractor2018-02-02T12:10:49ZTiago de Freitas PereiraThe extractors does not extend bob.bio.base.extractor.ExtractorThe 2 extractors (Facenet.py and Extrator.py) does not extend bob.bio.base.extractor as they should just for consistency.The 2 extractors (Facenet.py and Extrator.py) does not extend bob.bio.base.extractor as they should just for consistency.https://gitlab.idiap.ch/bob/bob.io.base/-/issues/17Can't open any HDF5 file on my Mac2018-02-12T16:08:48ZPhilip ABBETCan't open any HDF5 file on my MacHello
The following script fails on my Mac. I tried it with several HDF5 files, to no avail. I checked that they are valid with h5dump, and I can load them fine on iOS by using the `bob::io::base::HDF5File` C++ class directly.
from...Hello
The following script fails on my Mac. I tried it with several HDF5 files, to no avail. I checked that they are valid with h5dump, and I can load them fine on iOS by using the `bob::io::base::HDF5File` C++ class directly.
from bob.io.base import HDF5File
hdf5file = HDF5File('myfile.hdf5')
The error is: `RuntimeError: HDF5File - hdf5 constructor: C++ exception caught: 'cannot open file 'myfile.hdf5''`
I tried both absolute and relative paths. The file exists (`os.path.exists(...)` returns `True`) and is readable (`open(...)` works).
Here is the output of my `conda list`:
backports 1.0 py27_1 conda-forge
backports.functools_lru_cache 1.4 py27_1 conda-forge
backports_abc 0.5 py27_0 conda-forge
blas 1.1 openblas conda-forge
bob.ap 2.1.5 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.bio.base 3.2.1 py_0 https://www.idiap.ch/software/bob/conda
bob.bio.base 3.2.1 <pip>
bob.bio.face 3.3.0 <pip>
bob.bio.face 3.3.0 py_0 https://www.idiap.ch/software/bob/conda
bob.bio.gmm 3.1.0 <pip>
bob.bio.gmm 3.1.0 py_0 https://www.idiap.ch/software/bob/conda
bob.bio.spear 3.1.1 <pip>
bob.bio.spear 3.1.1 py_0 https://www.idiap.ch/software/bob/conda
bob.blitz 2.0.14 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.core 2.1.9 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.db.atnt 2.0.10 py27_0 https://www.idiap.ch/software/bob/conda
bob.db.base 2.3.2 py27_0 https://www.idiap.ch/software/bob/conda
bob.extension 2.4.5 py27_0 https://www.idiap.ch/software/bob/conda
bob.io.base 3.0.2 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.io.image 2.3.0 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.io.matlab 2.0.10 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.ip.base 2.1.0 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.ip.color 2.0.10 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.ip.draw 2.0.9 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.ip.facedetect 2.1.4 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.ip.flandmark 2.1.6 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.ip.gabor 2.0.11 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.learn.activation 2.0.10 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.learn.boosting 2.0.13 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.learn.em 2.1.0 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.learn.linear 2.1.2 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.math 3.0.0 np113py27_1 https://www.idiap.ch/software/bob/conda
bob.measure 2.4.1 np113py27_0 https://www.idiap.ch/software/bob/conda
bob.sp 2.0.10 np113py27_0 https://www.idiap.ch/software/bob/conda
boost 1.61.0 py27_2 conda-forge
bzip2 1.0.6 1 conda-forge
ca-certificates 2017.11.5 0 conda-forge
certifi 2017.11.5 py27_0 conda-forge
cycler 0.10.0 py27_0 conda-forge
docopt 0.6.2 py27_0 conda-forge
ffmpeg 3.2.4 3 conda-forge
freetype 2.7 2 conda-forge
functools32 3.2.3.2 py27_1 conda-forge
giflib 5.1.4 3 https://www.idiap.ch/software/bob/conda
gridtk 1.5.0 py_0 https://www.idiap.ch/software/bob/conda
gridtk 1.5.0 <pip>
hdf5 1.8.17 11 conda-forge
icu 56.1 4 conda-forge
jasper 1.900.1 4 conda-forge
jpeg 9b 2 conda-forge
libblitz 0.10 3 https://www.idiap.ch/software/bob/conda
libgfortran 3.0.0 0 conda-forge
libiconv 1.15 0 conda-forge
libmatio 1.5.6 3 https://www.idiap.ch/software/bob/conda
libpng 1.6.28 2 conda-forge
libtiff 4.0.7 1 conda-forge
matplotlib 2.1.1 py27_0 conda-forge
mkl 2017.0.1 0 defaults
ncurses 5.9 10 conda-forge
numpy 1.13.3 py27_blas_openblas_201 [blas_openblas] conda-forge
openblas 0.2.20 7 conda-forge
opencv 2.4.13.4 py27_blas_openblas_200 [blas_openblas] conda-forge
openssl 1.0.2n 0 conda-forge
pip 9.0.1 py27_1 conda-forge
pyparsing 2.2.0 py27_0 conda-forge
python 2.7.14 4 conda-forge
python-dateutil 2.6.1 py27_0 conda-forge
pytz 2017.3 py_2 conda-forge
readline 7.0 0 conda-forge
scipy 1.0.0 py27_blas_openblas_201 [blas_openblas] conda-forge
setuptools 38.4.0 py27_0 conda-forge
singledispatch 3.4.0.3 py27_0 conda-forge
six 1.11.0 py27_1 conda-forge
sqlalchemy 1.2.1 py27_0 conda-forge
sqlite 3.20.1 2 conda-forge
ssl_match_hostname 3.5.0.1 py27_1 conda-forge
subprocess32 3.2.7 py27_0 conda-forge
tk 8.6.7 0 conda-forge
tornado 4.5.3 py27_0 conda-forge
vlfeat 0.9.20 3 https://www.idiap.ch/software/bob/conda
wheel 0.30.0 py27_2 conda-forge
x264 20131217 3 https://www.idiap.ch/software/bob/conda
xz 5.2.3 0 conda-forge
zlib 1.2.11 0 conda-forge