beat issueshttps://gitlab.idiap.ch/groups/beat/-/issues2017-08-23T11:36:30Zhttps://gitlab.idiap.ch/beat/beat.web/-/issues/21New django action for experiment deletion2017-08-23T11:36:30ZAndré AnjosNew django action for experiment deletionWe should add a new django admin action (https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/) for treating Experiment objects in the BEAT django DB.
In case this action is clicked by the administrator, it allows him/her t...We should add a new django admin action (https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/) for treating Experiment objects in the BEAT django DB.
In case this action is clicked by the administrator, it allows him/her to:
- Delete the Experiment + all associated results
- Clean-up the cache from the experiment:
* Clean-up local cache entries in the Django DB
* Send a message to the scheduler to delete certain cache files (see biometric/beat.scheduler#10). Notice you don't need to cancel any experiment (in case they are running). The scheduler shall be able to handle this gracefully.
If another experiment shares cache files with the experiment being deleted, then:
1) The cache files of that experiment are also cleaned-up
2) The experiment is marked as "Pending", so the user can re-run it at a later stage (unless the experiment was also running, in which case it will be cancelled by the scheduler automatically).
We understand this is a rather drastic action, but may be required in case of severe cache corruption.Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/20Improve deletion of databases from Django administration page2017-08-23T11:36:30ZLaurent EL SHAFEYImprove deletion of databases from Django administration pageThe current behaviour when deleting a database from Django administration page is as follows:
- Deletion of the 'Database' entry
- Deletion of the 'Database protocol' entries
- Deletion of the 'Database set' entries
Since adding a ...The current behaviour when deleting a database from Django administration page is as follows:
- Deletion of the 'Database' entry
- Deletion of the 'Database protocol' entries
- Deletion of the 'Database set' entries
Since adding a database may also imply adding a 'Database set template' and 'Database output's, it would be better to remove these entries as well, when they are not used by any other databases installed on the platform.Biometrics Center Kickoff Meeting and BEAT Reviewhttps://gitlab.idiap.ch/beat/beat.web/-/issues/18Avoid particle "it" on experiment buttons2017-08-23T11:36:30ZAndré AnjosAvoid particle "it" on experiment buttonsTo standardize the button labels everywhere, would it be possible to remove the particle "it" from buttons like "fork it" and "cancel it"?
It is implicit from the context that it refers to the currently running experiment.To standardize the button labels everywhere, would it be possible to remove the particle "it" from buttons like "fork it" and "cancel it"?
It is implicit from the context that it refers to the currently running experiment.RP Conference, Darmstadt, DEPhilip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/12Parameter check on Algorithm class is not necessary2017-08-08T04:40:37ZAndré AnjosParameter check on Algorithm class is not necessaryAs soon as possible, remove this check as this is done by the BEAT infrastructure already.As soon as possible, remove this check as this is done by the BEAT infrastructure already.Open-source ReleaseAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/11Create PipeSource/Sink instead of changing Output class2017-08-08T04:40:37ZAndré AnjosCreate PipeSource/Sink instead of changing Output classWe need to revert the design currently available on this package so that it respects the old beat.core design. Instead of overwriting the Input/Output classes, we need to create both a PipeSource and a PipeSink classes that can be used t...We need to revert the design currently available on this package so that it respects the old beat.core design. Instead of overwriting the Input/Output classes, we need to create both a PipeSource and a PipeSink classes that can be used to input and output data for the Input/Output classes respectively.André AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/10Improve test-ability of this package2017-08-08T04:40:37ZAndré AnjosImprove test-ability of this packageAs of today, it is not very easy to test the user process w/o an I/O daemon. We'd have to figure out a way to build unit tests around this package.As of today, it is not very easy to test the user process w/o an I/O daemon. We'd have to figure out a way to build unit tests around this package.André AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/9Remove prefix access and pass everything by value/json2017-08-08T04:40:37ZLaurent EL SHAFEYRemove prefix access and pass everything by value/jsonThe user process still has access to the prefix to fetch dataformats/algorithms/etc. Ideally, we need to get rid of this and to pass everything by value/json.The user process still has access to the prefix to fetch dataformats/algorithms/etc. Ideally, we need to get rid of this and to pass everything by value/json.André AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/8Split beat.core and beat.backend.python2017-08-08T04:40:37ZLaurent EL SHAFEYSplit beat.core and beat.backend.pythonFollowing a discussion with @andre.anjos , few beat.core functionalities need to be in beat.backend.python.
To achieve this, we need to:
1. Move all the relevant code from beat.core to beat.backend.python
2. Make beat.core depends o...Following a discussion with @andre.anjos , few beat.core functionalities need to be in beat.backend.python.
To achieve this, we need to:
1. Move all the relevant code from beat.core to beat.backend.python
2. Make beat.core depends on beat.backend.python
3. Make all packages use features from beat.backend.python (when they were moved from beat.core to beat.backend.python)André AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/7Do not open input/output pipe at each request2017-08-08T04:40:37ZLaurent EL SHAFEYDo not open input/output pipe at each requestAs discussed with @andre.anjos , this would be too inefficient.As discussed with @andre.anjos , this would be too inefficient.Laurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/6Move algorithm and library into this package2017-08-08T04:40:37ZLaurent EL SHAFEYMove algorithm and library into this packageLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/5Parameters handling requires a string to numpy-type conversion2017-08-08T04:40:37ZLaurent EL SHAFEYParameters handling requires a string to numpy-type conversionHandling the parameters of an algorithm requires the backend to be able to perform a string to numpy-type conversion.
This is currently performed by the method _convert_parameter_types() of the beat.core.algorithm.Algorithm class. Since...Handling the parameters of an algorithm requires the backend to be able to perform a string to numpy-type conversion.
This is currently performed by the method _convert_parameter_types() of the beat.core.algorithm.Algorithm class. Since the backend does not use this class, we need to move this function somewhere else to deal with experiment parameters.Laurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/4Statistics split2017-08-08T04:40:37ZLaurent EL SHAFEYStatistics splitThe statistics are now generated by two different processes: the I/O daemon and the user process. However, everything is handled in one class, which means that statistics objects are often created but only half populated.
We may conside...The statistics are now generated by two different processes: the I/O daemon and the user process. However, everything is handled in one class, which means that statistics objects are often created but only half populated.
We may consider to split the class definition of statitics object to better reflect the underlying implementation.Laurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/3Properly define IO daemon address2017-08-08T04:40:37ZLaurent EL SHAFEYProperly define IO daemon addressThe address of the IO daemon is currently hard-coded as localhost.
This should be properly defined and passed as an argument of the execute script.The address of the IO daemon is currently hard-coded as localhost.
This should be properly defined and passed as an argument of the execute script.Laurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/2Move dataformat from beat.core2017-08-08T04:40:37ZLaurent EL SHAFEYMove dataformat from beat.coreIdeally, we don't want this package to depend on `beat.core`. But it requires dataformat.
One possible solution would be to move the dataformat from beat.core into this package, and to make beat.core depeonds on this package.Ideally, we don't want this package to depend on `beat.core`. But it requires dataformat.
One possible solution would be to move the dataformat from beat.core into this package, and to make beat.core depeonds on this package.Laurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/1IO synchronization is managed twice2017-08-08T04:40:37ZLaurent EL SHAFEYIO synchronization is managed twiceThe I/O synchronization is currently manage twice: in `beat.io` and in `beat.backend.python`.
Since `beat.io` is common to any backend, it would be nice to only manage I/O synchronization in this package to keep the backends as simple...The I/O synchronization is currently manage twice: in `beat.io` and in `beat.backend.python`.
Since `beat.io` is common to any backend, it would be nice to only manage I/O synchronization in this package to keep the backends as simple as possible.Laurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/13Memory leaks in the Python backend2017-08-08T04:40:36ZAndré AnjosMemory leaks in the Python backendAlthough most memory leaks have been mitigated with the release 0.1.3 of this package (optimization of `struct.pack` into `numpy.tostring`/`numpy.tobytes`), there seems still to exist a very mild memory leak. It is visible when one execu...Although most memory leaks have been mitigated with the release 0.1.3 of this package (optimization of `struct.pack` into `numpy.tostring`/`numpy.tobytes`), there seems still to exist a very mild memory leak. It is visible when one executes processes that access large amounts of data (such as in the Replay Attack dataset).
This problems needs to be investigated in a more closed setting for a leak-free execution.André AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/430[backend] Result.syserr is not useful any longer2017-08-06T16:44:52ZAndré Anjos[backend] Result.syserr is not useful any longerGiven the whole system is now based on the Django framework, we can immediately use the e-mailing capabilities of Django to send e-mail to administrators in case a problem is perceived anywhere in the code, making the use of this field o...Given the whole system is now based on the Django framework, we can immediately use the e-mailing capabilities of Django to send e-mail to administrators in case a problem is perceived anywhere in the code, making the use of this field on Results a bit useless.
Currently, on our base deployment system every error message emitted by the code is sent via e-mail to system administrators. We can use this to ship the error messages instead of moving it around in an object.André AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/429[setup] Sphinx RTD theme dependence is missing on setup.py2017-08-06T16:44:52ZAndré Anjos[setup] Sphinx RTD theme dependence is missing on setup.pyThis will lead to a crash during the installation if the package is not available by default on the user environment.This will lead to a crash during the installation if the package is not available by default on the user environment.André AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/428[reports] chevrons tables2017-08-06T16:44:52ZFlavio TARSETTI[reports] chevrons tablesAdd gray up/down chevrons for all th in tables
Chevron need to be with white-space:nowrap next to thAdd gray up/down chevrons for all th in tables
Chevron need to be with white-space:nowrap next to thOpen-source ReleaseFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.web/-/issues/427[reports] patch for sorting items + total time sort + experiment names2017-08-06T16:44:52ZFlavio TARSETTI[reports] patch for sorting items + total time sort + experiment namesPatch required for sorting itemsPatch required for sorting itemsOpen-source ReleaseFlavio TARSETTIFlavio TARSETTI