beat issueshttps://gitlab.idiap.ch/groups/beat/-/issues2021-01-29T09:46:59Zhttps://gitlab.idiap.ch/beat/beat.core/-/issues/64Database schema and runtime improvements2021-01-29T09:46:59ZAndré AnjosDatabase schema and runtime improvementsDatabases were originally designed monolithically, assuming the environment where packages necessary to read their contents is fixed (and does not change), and the location of files to be used for the readout is fixed. As an after thoug...Databases were originally designed monolithically, assuming the environment where packages necessary to read their contents is fixed (and does not change), and the location of files to be used for the readout is fixed. As an after thought, templates were introduced without a proper formalisation and, as a consequence, templates with the same names may appear in various database JSON declarations, w/o necessarily being the same. This issue supersedes #25 and gathers all changes required for a revamp in this area:
- [x] Protocol and set templates should be separated from the database view declaration to avoid repetition and centralise "task-related" declarations. This will effectively simplify the declaration of new datasets
- [ ] The `root_db` parameter (maybe misspelled here) needs to be externalised as a runtime parameter during the run, as it is currently the case for other runtime prefixes such as algorithm caches. Currently, if one downloads the database view, they need to change this parameter by hand
- [x] The environment required to run the database view to provide the data for the experiment needs to be configured and have an entry on the database JSON declaration. This ensures that changes in the environment (docker image), will imply in new caches being generated at all times. As of today, it can happen that hashes are not regenerated even if the environment changes completely.
- [x] A default db env docker image (possibly named `beat.env.databases`) should be provided on docker hub. This avoids conflicts in future because when using multiple databases in one experiment, only one image can be used.
- [ ] The prototypes in `beat.core` should come configured to use this image.
- [ ] This new JSON entry must be documented in `beat/docs` and users should be recommended to use this image.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/53strange behaviour of beat.cmline when pulling objects from platform results i...2018-12-06T09:53:24ZZohreh MOSTAANIstrange behaviour of beat.cmline when pulling objects from platform results in beat.editor crashing as well.Hi,
Today when I ran beateditor command to edit some experiment, it did not show me anything on the Firefox. It only shows the page for split second and then it is a blank page. I updated beat.editor with conda in case there were some c...Hi,
Today when I ran beateditor command to edit some experiment, it did not show me anything on the Firefox. It only shows the page for split second and then it is a blank page. I updated beat.editor with conda in case there were some changes but the problem is still there.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/51The connections are not pushed to the platform when pushing a toolchain.2018-12-04T15:35:40ZZohreh MOSTAANIThe connections are not pushed to the platform when pushing a toolchain.I pushed a toolchain to the platform with this command:
```
beat toolchains push zmostaani/sbhatta-iqm-face-antispoofing-test/2
```
This is the output:
```
toolchains push zmostaani/sbhatta-iqm-face-antispoofing-test/2
[+] toolchains/tut...I pushed a toolchain to the platform with this command:
```
beat toolchains push zmostaani/sbhatta-iqm-face-antispoofing-test/2
```
This is the output:
```
toolchains push zmostaani/sbhatta-iqm-face-antispoofing-test/2
[+] toolchains/tutorial/eigenface/1 (@2014-08-11T14:27:37)
[l] toolchains/test/iris_advanced_editor/1
[l] toolchains/zmostaani/eigenface-new-error/2
[l] toolchains/tutorial/eigenface-error/1
[l] toolchains/zmostaani/editor-test/1
[l] toolchains/zmostaani/editor-test-2/1
[l] toolchains/zmostaani/eigenface-clone/1
[l] toolchains/zmostaani/eigenface-test/1
[l] toolchains/test/test/1
[l] toolchains/zmostaani/eigenface-new/1
[l] toolchains/zmostaani/sbhatta-iqm-face-antispoofing-test/1
[l] toolchains/test/iris/1
[l] toolchains/zmostaani/sbhatta-iqm-face-antispoofing-test/2
[l] toolchains/test/iris_advanced/1
[l] toolchains/zmostaani/eigenface-new-error/1
pushing toolchains/zmostaani/sbhatta-iqm-face-antispoofing-test/2 [l]
Successfuly created `zmostaani/sbhatta-iqm-face-antispoofing-test/2'
```
I went to check it on the platform. Aside from the problem with version numbering that has been mentioned in issue #49 and #50, when I look at it on the platform there is no connection to any block.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/46plot function does not work properly if the prefix is set with relative path.2018-09-06T14:46:40ZZohreh MOSTAANIplot function does not work properly if the prefix is set with relative path.Hi,
I set my prefix to a relative path by using `beat config set` command. I can run the experiment but When I try to plot the result I get this error, it looks in the wrong directory.
```
retrieving `plotters/plotterparameters/plot/is...Hi,
I set my prefix to a relative path by using `beat config set` command. I can run the experiment but When I try to plot the result I get this error, it looks in the wrong directory.
```
retrieving `plotters/plotterparameters/plot/isoroc/1'...
Traceback (most recent call last):
File "/home/zmostaani/miniconda3/envs/beat_mini/bin/beat", line 11, in <module>
sys.exit(main())
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/beat/cmdline/decorators.py", line 75, in _decorator
value = view_func(*args, **kwargs)
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/beat/cmdline/experiments.py", line 783, in plot
output_folder
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/beat/cmdline/experiments.py", line 535, in plot_impl
data.as_dict()[the_data], output_name, None, indentation + 2, format_cache)
File "/home/zmostaani/miniconda3/envs/beat_mini/lib/python3.6/site-packages/beat/cmdline/plotters.py", line 238, in plot_impl
with open(output_name, "wb") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'beat.zmostaani.prefix/prefix/beat.zmostaani.prefix/prefix/experiments/zmostaani/tutorial/eigenface/1/atnt-eigenfaces-75-comp-bis-vbox_roc.png'
```
in this example the my prefix value is `"prefix": "beat.zmostaani.prefix/prefix"` and I am running the experiment on the parent folder of beat.zmostaani.prefix.
I tried with different relative paths and I get the similar error, however if I use the absolute path everything is ok.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/39Better copy/paste support for `exp caches`2018-06-11T08:13:15ZJaden DIEFENBAUGHBetter copy/paste support for `exp caches`Right now the caches printed are file paths:
```
block: `pre_training'
algorithm: `test/iris_preprocessor/1'
output: `/home/jae/code/beat.editor/prefix/cache/a9/e2/0b/2ba5928422351e52a508bd0cbc55e3d0e5bacb05896dc28413bcd0a1a4'
block:...Right now the caches printed are file paths:
```
block: `pre_training'
algorithm: `test/iris_preprocessor/1'
output: `/home/jae/code/beat.editor/prefix/cache/a9/e2/0b/2ba5928422351e52a508bd0cbc55e3d0e5bacb05896dc28413bcd0a1a4'
block: `pre_testing'
algorithm: `test/iris_preprocessor/1'
output: `/home/jae/code/beat.editor/prefix/cache/1e/a5/74/80c7d48bae3d0f6baf0883c3a7f78b5324830931029fcee4fd3bffff4d'
block: `training_alg'
algorithm: `test/iris_training/1'
output: `/home/jae/code/beat.editor/prefix/cache/45/61/15/3438e272598bf15e6bd729709536f4ca38b2b9d1061dd286c6dae5f288'
block: `testing_alg'
algorithm: `test/iris_testing/1'
output: `/home/jae/code/beat.editor/prefix/cache/39/d4/20/a6709aca3cac7e9a9a7cb2c36d536184554b5e19358927f2e866ad5751'
block: `analyzer'
analyzer: `test/iris_analyzer/1'
output: `/home/jae/code/beat.editor/prefix/cache/f0/a0/86/a645856dcbee4edc2729fcc60554212ed5def33334670602be6086aafb'
```
But you only use path segments relative to the cache folder to operate on that cache:
```
$ beat ca view a9/e2/0b/2ba5928422351e52a508bd0cbc55e3d0e5bacb05896dc28413bcd0a1a4
```
It would make sense for `exp caches` to only print out this bit, not the absolute path.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/37`exp caches --list` doesn't print out db caches2018-05-30T15:22:15ZJaden DIEFENBAUGH`exp caches --list` doesn't print out db cachesWhen printing caches for an experiment, it prints out all blocks' caches except the dataset blocks' caches.When printing caches for an experiment, it prints out all blocks' caches except the dataset blocks' caches.https://gitlab.idiap.ch/beat/beat.core/-/issues/57Is `return True` needed in the algorithms API still?2018-05-30T14:33:58ZJaden DIEFENBAUGHIs `return True` needed in the algorithms API still?Not sure where I should be putting this issue...
Right now, as far as I know, `process` methods in algorithms must return `True`. Is this still required?
@samuel.gaistNot sure where I should be putting this issue...
Right now, as far as I know, `process` methods in algorithms must return `True`. Is this still required?
@samuel.gaistSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/36Add `--long` flag when listing things2018-05-30T08:28:19ZJaden DIEFENBAUGHAdd `--long` flag when listing thingsIt's just like `ls`'s `-l` flag:
- last edited
- maybe which filetypes the object has associated with it?It's just like `ls`'s `-l` flag:
- last edited
- maybe which filetypes the object has associated with it?https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/35Add sort option for `beat <subcommand> list`2018-05-30T08:24:38ZJaden DIEFENBAUGHAdd sort option for `beat <subcommand> list`Sort by:
- Name
- Last edited
- ???Sort by:
- Name
- Last edited
- ???https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/27[all packages] code cleanup2018-09-04T09:09:56ZFlavio TARSETTI[all packages] code cleanupbeat.cmdline needs to get some things changed such as:
- type keyword to remove
- status = None returned (to return a real status)beat.cmdline needs to get some things changed such as:
- type keyword to remove
- status = None returned (to return a real status)https://gitlab.idiap.ch/beat/beat.core/-/issues/56Docker timer tests rely on having adequate CI resources2018-12-12T09:13:59ZJaden DIEFENBAUGHDocker timer tests rely on having adequate CI resourcesSometimes docker timing tests will fail when the tests go too slowly. These tests rely on a hard-coded number of seconds/milliseconds with numbers that are reasonable to assume on one's own machine but obviously aren't designed for a CI ...Sometimes docker timing tests will fail when the tests go too slowly. These tests rely on a hard-coded number of seconds/milliseconds with numbers that are reasonable to assume on one's own machine but obviously aren't designed for a CI (just see the [docker tests](https://gitlab.idiap.ch/beat/beat.core/blob/85cef289db0eac7aaa47308dd92cc5003a6a689b/beat/core/test/test_docker.py).
Some of these tests can just be changed. For example, the `test_images_cache` tests are actually relative tests - you just want to be sure that doing something a second time is faster than the first time. I believe that the CI performance would be consistent across each of these tests (which shouldn't last for more than a couple seconds).
There's other ones though, like the timeout tests. Not sure what to do with those.
This doesn't unconditionally make the CI fail since rerunning the job usually fixes it.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/23[cache] experiments data does not contain all information such as "type" field2018-05-01T09:09:50ZFlavio TARSETTI[cache] experiments data does not contain all information such as "type" fieldWhen the experiments is run locally,
We have a major issue.
Why aren't the information saved the same way as in the API?
One of the most important information is missing in the cache.
I was expecting this as in the API:
"results...When the experiments is run locally,
We have a major issue.
Why aren't the information saved the same way as in the API?
One of the most important information is missing in the cache.
I was expecting this as in the API:
"results": {
"analysis": {
"bar_plot": {
"type": "plot/bar/1",
"primary": false,
"value": {
"data": [
{
"y": [
0.0,
1.0,
2.0,
But I was able to get only this from the local cache:
"bar_plot": {
"data": [
{
"y": [
0.0,
1.0,
2.0,
3.0,
Where is the "type" field gone?
The type field is important as it indicates which plotter can handle this kind of data.
At present, I am working on plotting using data I get remotely from the experiment when hitting the API, but someone would want to be able to use experiments data he has ran locally and this is not possible at the moment due to the "cache" missing information. This is blocking for local plotting from locally ran experiments.https://gitlab.idiap.ch/beat/beat.core/-/issues/49Update the plotterparameter schema to associate it to a plotter2018-04-17T07:55:49ZJaden DIEFENBAUGHUpdate the plotterparameter schema to associate it to a plotterRight now there's no way to tell via the naming scheme or the plotterparameter JSON which plotter the parameter is associated to. The easiest way would be to add a field, say "plotter", which has the associated plotter object's name. See...Right now there's no way to tell via the naming scheme or the plotterparameter JSON which plotter the parameter is associated to. The easiest way would be to add a field, say "plotter", which has the associated plotter object's name. See beat.cmdline#20 for the discussion that led up to this.
The idea could be something like what I suggested in the other thread:
```json
{
"plotter": "plot/bar/1",
"grid": true,
"title": "DET ISO/IEC 19795-1:2006",
"title-fontsize": 12,
"det": true,
"legend-loc": "best",
"width": 800,
"height": 600,
"dpi": 120,
"legend-fontsize": 8,
"xlim-left": 0,
"xlim-right": 40,
"ylim-bottom": 0,
"ylim-top": 40,
"axis-fontsize": 10
}
```
The "plotter" field stores the reference to the associated plotter.
However, it might be best to use a field name that the user couldn't accidentally use, such as `#plotter`.
@samuel.gaist @flavio.tarsetti @andre.anjos what do you all think? This is sorta blocking time-sensitive work so it'd be better to decide quickly.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/18Autocompletion of BEAT objects in prefix & commands2018-03-23T08:38:40ZJaden DIEFENBAUGHAutocompletion of BEAT objects in prefix & commandsThis would improve productivity SO MUCH. I almost think this is a required feature for the June 2018 deliverable. We'd probably want to pull in a new dependency...maybe even need to rewrite a bunch of the CLI code. But I'm not sure since...This would improve productivity SO MUCH. I almost think this is a required feature for the June 2018 deliverable. We'd probably want to pull in a new dependency...maybe even need to rewrite a bunch of the CLI code. But I'm not sure since I haven't worked much with CLI python.https://gitlab.idiap.ch/beat/beat.web/-/issues/494Move plot generation code into beat.cmdline2018-03-15T08:47:16ZJaden DIEFENBAUGHMove plot generation code into beat.cmdlineThis ties in with beat.cmdline#16: moving the plotting code there will let users of beat.cmdline/beat.editor use the same plot generation functionality as found in beat.web.This ties in with beat.cmdline#16: moving the plotting code there will let users of beat.cmdline/beat.editor use the same plot generation functionality as found in beat.web.https://gitlab.idiap.ch/beat/beat.core/-/issues/48Enum types2018-03-15T08:41:59ZJaden DIEFENBAUGHEnum typesIt would be nice to have enum types supported, like in the algorithm parameters.It would be nice to have enum types supported, like in the algorithm parameters.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/17Better cache search/discovery/browsing2018-06-11T07:59:30ZJaden DIEFENBAUGHBetter cache search/discovery/browsingRight now you have to give a path to a `.data` cache file to see anything about the cache. At the very least, I think there should be a cache listing command that gives relevant info about all the existing caches.Right now you have to give a path to a `.data` cache file to see anything about the cache. At the very least, I think there should be a cache listing command that gives relevant info about all the existing caches.https://gitlab.idiap.ch/beat/beat.web/-/issues/493[experiments] Cannot start a new experiment if site is empty2018-01-16T10:07:28ZAndré Anjos[experiments] Cannot start a new experiment if site is emptyIf the platform has no experiments registered (as it was the case for the staging platform a few instants ago), the bar which contains the "New" button is not displayed on the experiment list page. The only way to create a new experiment...If the platform has no experiments registered (as it was the case for the staging platform a few instants ago), the bar which contains the "New" button is not displayed on the experiment list page. The only way to create a new experiment in these conditions is to go to the toolchains list package and start a new experiment from there.https://gitlab.idiap.ch/beat/beat.web/-/issues/484[backend] Not all available resources are being utilised2017-12-04T10:47:12ZAndré Anjos[backend] Not all available resources are being utilisedFor some reason, there are experiments being scheduled and get stuck on apparent lack of resources. Meanwhile, there are idle computers on the system that seem to not take any jobs:
![image](/uploads/f0771efaf35e733b2fa76b7821a9b7f1/ima...For some reason, there are experiments being scheduled and get stuck on apparent lack of resources. Meanwhile, there are idle computers on the system that seem to not take any jobs:
![image](/uploads/f0771efaf35e733b2fa76b7821a9b7f1/image.png)Philip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.web/-/issues/483[experiments] Not allowed to share unfinished experiments2017-12-04T10:46:41ZPavel KORSHUNOV[experiments] Not allowed to share unfinished experimentsI forked the experiment, modified an algorithm, started the experiment, and tried to share it with @sebastien.marcel but got the error that "This experiment is not done yet", then it went to "page not found" page.
Here is the experiment...I forked the experiment, modified an algorithm, started the experiment, and tried to share it with @sebastien.marcel but got the error that "This experiment is not done yet", then it went to "page not found" page.
Here is the experiment:
https://www.beat-eu.org/platform/experiments/pkorshunov/pkorshunov/speech-pad-simple/1/speech-pad_lbp_hist_ratios_lr-pa_aligned-rr4/
Here is the error, when tried to share it:
![Screen_Shot_2017-12-04_at_11.11.13](/uploads/8e927c930758d1f1805658c26c8abf36/Screen_Shot_2017-12-04_at_11.11.13.png)