beat issueshttps://gitlab.idiap.ch/groups/beat/-/issues2020-05-13T06:32:34Zhttps://gitlab.idiap.ch/beat/beat.core/-/issues/29Loops between blocks (MAP/Reduce)2020-05-13T06:32:34ZTiago de Freitas PereiraLoops between blocks (MAP/Reduce)For some iterative algorithms we can create procedures to parallelize them.
This parallelization involves a Map step (when you slice the data between the nodes) and the Reduce step (when you reduce/gather some data from the node).
And ...For some iterative algorithms we can create procedures to parallelize them.
This parallelization involves a Map step (when you slice the data between the nodes) and the Reduce step (when you reduce/gather some data from the node).
And you do this (Map/Reduce) several times.
To implement that using platform, you need two blocks, one for the Map and one for the Reduce.
Since the flow of the data in the platform is just forward, it is not possible to do a loop between these two blocks
Would be nice to have that feature.https://gitlab.idiap.ch/beat/beat.core/-/issues/25Database JSON simplifications2018-12-17T13:31:50ZAndré AnjosDatabase JSON simplificationsJSON for databases are overly cumbersome. They can be largely simplified by removing the view information declaration in favor of formalized templates (as they exist in `beat.web`).JSON for databases are overly cumbersome. They can be largely simplified by removing the view information declaration in favor of formalized templates (as they exist in `beat.web`).https://gitlab.idiap.ch/beat/beat.core/-/issues/24Input/Output/Source/Sink concept redesign?2018-08-02T06:31:05ZAndré AnjosInput/Output/Source/Sink concept redesign?The input/output/source/sink concepts should be re-encoded in order to simplify their relationship. Do we really need separated defintions for Input/Source and Output/Sink?The input/output/source/sink concepts should be re-encoded in order to simplify their relationship. Do we really need separated defintions for Input/Source and Output/Sink?https://gitlab.idiap.ch/beat/beat.web/-/issues/85CPU time on expe page is wrong ?2015-02-05T09:57:30ZSébastien MARCELCPU time on expe page is wrong ?
I ran a new quick expe
https://www.beat-eu.org/platform/experiments/smarcel/elie_khoury/ubmgmm_voxforge/1/test7/
which is a fork of
https://www.beat-eu.org/platform/experiments/smarcel/elie_khoury/ubmgmm_voxforge/1/ubmgmm-voxforge...
I ran a new quick expe
https://www.beat-eu.org/platform/experiments/smarcel/elie_khoury/ubmgmm_voxforge/1/test7/
which is a fork of
https://www.beat-eu.org/platform/experiments/smarcel/elie_khoury/ubmgmm_voxforge/1/ubmgmm-voxforge-g1024iter100-rr/
but with much less gaussians such as the execution is fast.
After expe "test7" is completed I looked at the main expe page: https://www.beat-eu.org/platform/user/smarcel/?tab=experiments
where I can see that CPU time is 23.2 minutes. This is obviously wrong this is was VERY fast as it can be observed by inspecting the sequential execution time for each block on
https://www.beat-eu.org/platform/experiments/smarcel/elie_khoury/ubmgmm_voxforge/1/test7/
https://gitlab.idiap.ch/beat/beat.web/-/issues/75Cannot use same analysis tool twice2014-11-21T10:53:29ZManuel GüntherCannot use same analysis tool twiceThe short verison: When I have two analyzers that output the same name, only one of it is shown in the result section.
The longer version:
I have a complicated toolchain, including dev and eval sets.
In total, I have three analyzers...The short verison: When I have two analyzers that output the same name, only one of it is shown in the result section.
The longer version:
I have a complicated toolchain, including dev and eval sets.
In total, I have three analyzers, one computing EER and HTER from both sets, and an ROC curve generator for each of the sets.
In my experiment, I use the simple algorithm to plot the ROC curves for both the dev and eval set. I expected two plots. However, since the output of the ROC algorithm is called "ROC" and there is no way to change this name in the toolchain, I get only one ROC curve displayed (I guess the one that was produced first).
See: https://www.beat-eu.org/platform/experiments/siebenkopf/FaceRec-NoTraining/1/PhaseDiffPlusCanberra_TT_Banca_P8/ if you can.
https://gitlab.idiap.ch/beat/beat.web/-/issues/70utfvp database - Incorrect assignation of datasets2014-11-07T07:38:25ZPedro TOMEutfvp database - Incorrect assignation of datasetsError in the configuration of the experiment:
test_templates = utfvp/1/nom/dev_templates
dev_templates = utfvp/1/nom/test_templates
To reproduce the error:
[1] New experiment using the toolchain: ptome/fingervein_advanced
[2] Sele...Error in the configuration of the experiment:
test_templates = utfvp/1/nom/dev_templates
dev_templates = utfvp/1/nom/test_templates
To reproduce the error:
[1] New experiment using the toolchain: ptome/fingervein_advanced
[2] Select Database: 'utfvp/1' and Protocol: 'nom'
[3] Click on 'Advanced mode'
There you can see how the associations for test_templates and dev_templates are wrong.https://gitlab.idiap.ch/beat/beat.web/-/issues/69Protocol for web testing prior to a release2019-07-04T08:37:03ZAndré AnjosProtocol for web testing prior to a releaseIt would be good to introduce a protocol for validating our web platform before *and* after a release is deployed. This would help us to quickly identify immediate problems with our release.
For that, I would advise we use the [Seleni...It would be good to introduce a protocol for validating our web platform before *and* after a release is deployed. This would help us to quickly identify immediate problems with our release.
For that, I would advise we use the [Selenium Web Driver](http://docs.seleniumhq.org/).
The software is installable on Linux, via `apt-get install python-selenium`, or on OS X with `port install y27-selenium`. You can also install it via PyPI, by including the dependence `selenium` on your buildout.cfg.
Discuss here the protocol for tests.https://gitlab.idiap.ch/beat/beat.web/-/issues/68Synchronization channels between scoring and analyzer do not update correctly2014-11-10T12:15:36ZPedro TOMESynchronization channels between scoring and analyzer do not update correctlyI detected a problem on the synchronization channels.
For reproduce the bug:
0. Use the toolchain: full_fisherface
1. Remove the two cables between the analyzer and the two scoring blocks.
2. Configure the two scoring block by s...I detected a problem on the synchronization channels.
For reproduce the bug:
0. Use the toolchain: full_fisherface
1. Remove the two cables between the analyzer and the two scoring blocks.
2. Configure the two scoring block by synchronization channel of development sets (dev_templates and test_templates), before to connect to the analyzer.
3. Connect the outputs of the scoring blocks to the analyzer.
4. Change the synchronization channels of the scoring blocks to dev_probe and test_probe
5. voila!: the synchronization channel of the analyzer does no change (is configured based on the dev_templates and test_templates)
Solution: Disconnect the cables between the two scoring blocks and the analyzer and reconnect, then you can select in the analyzer the synchronization channel of dev_probe or test_probe
https://gitlab.idiap.ch/beat/beat.web/-/issues/58Synchronization channels marked as a black color (unknown channels)2014-11-06T12:56:12ZPedro TOMESynchronization channels marked as a black color (unknown channels)You need to connect the database blocks outputs before the algorithms blocks.
To reproduce the bug:
First connect the synchronization channels between two blocks of the algorithms until the analyzer, after them connect synchronizatio...You need to connect the database blocks outputs before the algorithms blocks.
To reproduce the bug:
First connect the synchronization channels between two blocks of the algorithms until the analyzer, after them connect synchronization channel between the block of the database and the first block of the algorithm.
Problem: The system marks the synchronization channels between the algorithm as black color (unknown channels).
Reported the error: "Invalid synchronized channel"
Solution: Delete the synchronization channels between the blocks and connect in order starting from the database block.https://gitlab.idiap.ch/beat/beat.web/-/issues/57Toolchain editor - Feature Request2019-01-09T16:46:19ZPedro TOMEToolchain editor - Feature RequestI propose the next improvements to improve the editor (by order of priority):
- [ ] ~~Use the right button of the mouse to show an informative menu with the options available in each case: block selected, line selected, blocks and lines...I propose the next improvements to improve the editor (by order of priority):
- [ ] ~~Use the right button of the mouse to show an informative menu with the options available in each case: block selected, line selected, blocks and lines selected, etc.
Possible options: delete, copy, cut, info, etc.~~
- [x] Include 2 new scrollbars (horizontal and vertical) inside of the toolchain map
- [x] Move "Save" and "Close" buttons up and make the editor operate a bit more like an WYSIWYG editor
- [x] Add "Zoom-in" and "Zoom-out" buttons to the new bar on the top, together with the "Save" and "Close" buttons
- [ ] Copy/Paste selected blocks by the mouse. Using the mouse right button (previous point) or the keyboard Crtl+c (linux/windows) or Cmd+c (mac).Philip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.core/-/issues/17Refer to "ISO/IEC 19795-1:2006 "Biometric performance testing and reporting -...2018-11-03T15:23:12ZLaurent EL SHAFEYRefer to "ISO/IEC 19795-1:2006 "Biometric performance testing and reporting -- Part 1: Principles and framework" in performance evaluationFollowing a remark raised after the RP Conference, it would be nice to implement the biometric metrics according to the ISO standard. In particular, it seems that the ROC displayed during the conference was not respecting the definition ...Following a remark raised after the RP Conference, it would be nice to implement the biometric metrics according to the ISO standard. In particular, it seems that the ROC displayed during the conference was not respecting the definition given in the standard.
One simple option would be to add a reference to the standard in the documentation of the analyzer algorithms.https://gitlab.idiap.ch/beat/beat.web/-/issues/46Dataformat editor should be smarter2019-01-09T16:45:29ZAndré AnjosDataformat editor should be smarterCurrently, the dataformat editor relies on a CodeMirror widget that allows the user to input a JSON descriptor of the dataformat.
The dataformat is checked for conformance.
It would be nicer if the editor would, instead of providin...Currently, the dataformat editor relies on a CodeMirror widget that allows the user to input a JSON descriptor of the dataformat.
The dataformat is checked for conformance.
It would be nicer if the editor would, instead of providing a JSON text editor, would work like a wizard in which the user would go selecting (among possible options), existing dataformats in order to compose a new format. This would reduce development time and increase easeness of use.Philip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.web/-/issues/17Updating an algorithm which is used by experiment on the platform leads to th...2014-09-03T15:09:05ZIvana CHINGOVSKAUpdating an algorithm which is used by experiment on the platform leads to the deletion of this experimentHere are the steps to replicate the problem:
1. Create an experiment on the platform
2. On a local machine, pull an algorithm used by this experiment, modify it
3. Upload the modified version of the algorithm on the platform
Resu...Here are the steps to replicate the problem:
1. Create an experiment on the platform
2. On a local machine, pull an algorithm used by this experiment, modify it
3. Upload the modified version of the algorithm on the platform
Results:
The experiment disappears.Philip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.core/-/issues/14createDataFromJSON() is failing on arrays of arrays structures2018-11-03T15:23:12ZLaurent EL SHAFEYcreateDataFromJSON() is failing on arrays of arrays structuresThe function createDataFromJSON() is failing on arrays of array structures, such as:
```
{
"input_subtract": "beat/array_1d_floats",
"input_divide": "beat/array_1d_floats",
"weights": [
0,
"beat/a...The function createDataFromJSON() is failing on arrays of array structures, such as:
```
{
"input_subtract": "beat/array_1d_floats",
"input_divide": "beat/array_1d_floats",
"weights": [
0,
"beat/array_2d_floats"
],
"biases": [
0,
"beat/array_1d_floats"
]
}
```
This currently generates the error:
*** ValueError: field named value not found.
where 'value' is the key of the 'beat/array_*' dictionary.https://gitlab.idiap.ch/beat/beat.core/-/issues/11(Local) Paced development2018-08-02T06:30:28ZAndré Anjos(Local) Paced developmentWhen the user develops a bit toolchain, s/he cannot test the toolchain if algorithms for *all* blocks are not implemented. This makes development a bit hard and demotivating.
A simple solution to this problem would be to implement som...When the user develops a bit toolchain, s/he cannot test the toolchain if algorithms for *all* blocks are not implemented. This makes development a bit hard and demotivating.
A simple solution to this problem would be to implement some sort of "noop" algorithm that could live inside the "beat" user account.
In local execution mode (with `beat run`), if such an algorithm would be found, then it would not execute the current algorithm or any other following it. This would allow the user to place "beat/noop" as an algorithm in all blocks to be developed and focus on a single block at a time.https://gitlab.idiap.ch/beat/beat.web/-/issues/16Q&A Forum2017-08-23T11:36:31ZAndré AnjosQ&A ForumForum - a la Stack-Overflow, hooked into the reputation system (relates to issue #13).Forum - a la Stack-Overflow, hooked into the reputation system (relates to issue #13).https://gitlab.idiap.ch/beat/beat.web/-/issues/13Reputation system2016-03-14T18:30:44ZAndré AnjosReputation systemHow to assign and benefit for reputation.
Feel free to edit this bug with details.How to assign and benefit for reputation.
Feel free to edit this bug with details.https://gitlab.idiap.ch/beat/beat.web/-/issues/1Logo modifications on front page2014-09-02T15:40:14ZAndré AnjosLogo modifications on front pageWe should change the FP7 logo on the BEAT platform website (http://ec.europa.eu/research/fp7/index_en.cfm?pg=logos). Apparently the logo has to be replaced by the EU logo. It would be better that, if the user hovers over the EU logo, the...We should change the FP7 logo on the BEAT platform website (http://ec.europa.eu/research/fp7/index_en.cfm?pg=logos). Apparently the logo has to be replaced by the EU logo. It would be better that, if the user hovers over the EU logo, the following text is displayed:
```text
This project has received funding from the European Union’s Seventh Framework Programme for research, technological development and demonstration under grant agreement no 284989.
```
Furthermore, the VS state logo should be added to the BEAT platform site:
![logo-valais](https://gitlab.idiap.ch/uploads/biometric/beat.web/7930e7339c/logo-valais.png)
(AA: Note this is a bit bigger than the others. Is there a smaller version? Otherwise it will not look nice.)https://gitlab.idiap.ch/beat/beat.core/-/issues/5Plotting library request (migrated from github)2014-09-05T12:58:54ZAndré AnjosPlotting library request (migrated from github)It would be useful if the platform provided a set of library functions to allow the creation of charts in easier terms, instead of everyone re-implementing theirs. Bob already provides APIs for plotting. It would make sense that BEAT pro...It would be useful if the platform provided a set of library functions to allow the creation of charts in easier terms, instead of everyone re-implementing theirs. Bob already provides APIs for plotting. It would make sense that BEAT provided a similar API for functionality in Bob:
A good starting point for this API is Bob's plotting API, [which is available here](http://www.idiap.ch/software/bob/docs/nightlies/last/bob/sphinx/html/measure/index.html).
A tricky plot to perform is a DET curve. I hope this is still possible using RGraph's API.https://gitlab.idiap.ch/beat/beat.core/-/issues/1createDataFromJSON() is failing with dataformats which are arrays of dictiona...2014-08-28T11:34:02ZLaurent EL SHAFEYcreateDataFromJSON() is failing with dataformats which are arrays of dictionaries of dictionariesIt seems that the method createDataFromJSON() from the DataFormatSerializer does not work well when we have a dataformat, which is a list of dictionaries of dictionaries.
E.g.:
```
{
"objs": [2,
{
"id": "int...It seems that the method createDataFromJSON() from the DataFormatSerializer does not work well when we have a dataformat, which is a list of dictionaries of dictionaries.
E.g.:
```
{
"objs": [2,
{
"id": "int32",
"coordinates": {"x": "int32",
"y": "int32"
}
}
]
}
```
In this case, the method returns None and the associated error string is:
Data instance has no attribute 'coordinates'
I've pushed a 'failing' unit test in the repository (b8d4d1bc3 and e489e67f5)