beat issueshttps://gitlab.idiap.ch/groups/beat/-/issues2017-08-06T11:17:03Zhttps://gitlab.idiap.ch/beat/beat.core/-/issues/39inputs/outputs cleanup w.r.t beat.backend.python2017-08-06T11:17:03ZAndré Anjosinputs/outputs cleanup w.r.t beat.backend.pythonAs of today there is some functionality of beat.backend.python that is duplicated in this package. We should clean-up and organised it so there is no repetition of code, respecting a good DRY principle.As of today there is some functionality of beat.backend.python that is duplicated in this package. We should clean-up and organised it so there is no repetition of code, respecting a good DRY principle.BTAS TutorialAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/8[databases] Indexing is broken2018-04-13T08:03:56ZAndré Anjos[databases] Indexing is brokenNot all outputs are being properly indexed. To be checked ASAP.Not all outputs are being properly indexed. To be checked ASAP.Final DocumentationAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/9Un-reproducible bug -- invalid state file at `./.beat/config.json'2018-05-04T10:42:24ZTeodors EGLITISUn-reproducible bug -- invalid state file at `./.beat/config.json'I randomly get this warning:
```
WARNING: invalid state file at `./.beat/config.json' - removing and re-starting...
```
Warning is displayed (and the configuration is reset) randomly after one of these commands:
```
$ ./bin/beat config s...I randomly get this warning:
```
WARNING: invalid state file at `./.beat/config.json' - removing and re-starting...
```
Warning is displayed (and the configuration is reset) randomly after one of these commands:
```
$ ./bin/beat config set platform "http://127.0.0.1:8000/"
$ ./bin/beat config set user "user" token "3"
$ ./bin/beat config set cache "/idiap/temp/teglitis/BEAT-cache/"
$ ./bin/beat config color dark
$ ./bin/beat config list
$ ./bin/beat experiments push teodors/teodors/vein_recognition_only_dev/1/putvein-muira-only-dev-100
```
It seams that warnings aren't raised if the config is modified using single command:
```
$ ./bin/beat config set user "user" token "3" platform "http://127.0.0.1:8000/" cache "/idiap/temp/teglitis/BEAT-cache/"
```
But still this seams to me as a bug.
Teohttps://gitlab.idiap.ch/beat/beat.editor/-/issues/13block styling changes2018-01-23T16:07:47ZJaden DIEFENBAUGHblock styling changes- [x] More weight for the block name
- [x] Monospace font
- [x] right-align output text
- [x] better splitting/clipping of i/o: _added more spacing between columns & used the ellipsis character ("…") to indicate truncation_- [x] More weight for the block name
- [x] Monospace font
- [x] right-align output text
- [x] better splitting/clipping of i/o: _added more spacing between columns & used the ellipsis character ("…") to indicate truncation_https://gitlab.idiap.ch/beat/docs/-/issues/13Loop blocks are not described in the user guide2019-12-04T12:34:05ZAndré AnjosLoop blocks are not described in the user guideWe need to describe the loop blocks in a way that is similar to the current narrative.We need to describe the loop blocks in a way that is similar to the current narrative.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.core/-/issues/38discover_environments() does not crash when the same environment/version is d...2017-08-06T11:17:03ZLaurent EL SHAFEYdiscover_environments() does not crash when the same environment/version is detected multiple timesWhile this should raise an exception.While this should raise an exception.BTAS TutorialAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/7[experiments] Add command to checksum data and indexes2018-04-13T08:03:56ZAndré Anjos[experiments] Add command to checksum data and indexesOn ``xp caches``.On ``xp caches``.BTAS TutorialAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/14Security improvements2017-10-16T09:47:16ZAndré AnjosSecurity improvementsThis bug tracks improvements to the security for running user algorithms inside the beat backend.
The possible best way to handle this would be with RestrictedPython (see this SO thread http://stackoverflow.com/questions/1350466/preve...This bug tracks improvements to the security for running user algorithms inside the beat backend.
The possible best way to handle this would be with RestrictedPython (see this SO thread http://stackoverflow.com/questions/1350466/preventing-python-code-from-importing-certain-modules).Philip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.editor/-/issues/14highlight selected block in toolchain2018-01-19T14:26:02ZJaden DIEFENBAUGHhighlight selected block in toolchainhttps://gitlab.idiap.ch/beat/beat.examples/-/issues/14Wrong algorithm V1 parameters value in declaration2019-05-28T14:45:18ZSamuel GAISTWrong algorithm V1 parameters value in declarationFollowing the development of beat/beat.core!65, it has been discovered that part of the v1 algorithms provided by this repository have an issue: some of their numerical parameters have their default value stored as string rather than num...Following the development of beat/beat.core!65, it has been discovered that part of the v1 algorithms provided by this repository have an issue: some of their numerical parameters have their default value stored as string rather than number.
This was fixed by !19 and !20 however, taking into account that the live platform has already some experiment that ran using these algorithm, updating them will break the cache (which in itself is not an issue) but also would require to re-run certified experiment which is a no-go.
The decided course of action is the following:
- Reverse !19
- Reverse the last fixes done in !20
- Implement a fully self-contained algorithm version 1 schema (done in beat/beat.core!65)
This will allow to have algorithm using still using the V1 left untouched while enforcing the correct data types for newer algorithms.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/docs/-/issues/14Update installation instructions to match Bob's2020-05-28T14:05:31ZAmir MOHAMMADIUpdate installation instructions to match Bob'sI just went through installation instructions. It's best to install `beat.editor` when the environment is created.I just went through installation instructions. It's best to install `beat.editor` when the environment is created.https://gitlab.idiap.ch/beat/beat.core/-/issues/35Move command-line client to another package2017-08-06T11:17:03ZAndré AnjosMove command-line client to another packageAs discussed, we should move the command-line client to another package, since it depends on the `beat.web` API. This creates some sort of reverse dependence which we should get rid of.As discussed, we should move the command-line client to another package, since it depends on the `beat.web` API. This creates some sort of reverse dependence which we should get rid of.BEAT TourAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/6Pulling a database fails with a token error2018-04-13T08:03:56ZLaurent EL SHAFEYPulling a database fails with a token errorIt's seems that a regular user can't pull databases anymore.
```
$ ./bin/beat --prefix=prefix db pull
retrieving `databases/atnt/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: ...It's seems that a regular user can't pull databases anymore.
```
$ ./bin/beat --prefix=prefix db pull
retrieving `databases/atnt/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
retrieving `databases/banca/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
retrieving `databases/casme2/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
retrieving `databases/cbsr_nir_vis_2/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
retrieving `databases/cpqd/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
retrieving `databases/mnist/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
retrieving `databases/mobio/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
retrieving `databases/replay/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
retrieving `databases/utfvp/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
retrieving `databases/voxforge/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
retrieving `databases/xm2vts/1'...
failed to retrieve database from `https://www.beat-eu.org/platform/' with secret token, reason: Forbidden
```
This also occurs when pulling an experiment, which will try to pull the database used.BTAS Tutorialhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/15lock by default upon dataset/alg selection & global unlock button2018-01-19T14:58:31ZJaden DIEFENBAUGHlock by default upon dataset/alg selection & global unlock buttonLocking/unlocking every block is too fine-grained control. Lock a block by default when an alg/dataset is chosen, but provide a global unlock button as an escape hatch.Locking/unlocking every block is too fine-grained control. Lock a block by default when an alg/dataset is chosen, but provide a global unlock button as an escape hatch.https://gitlab.idiap.ch/beat/beat.backend.python/-/issues/15no CI for master branch2018-09-18T12:32:20ZJaden DIEFENBAUGHno CI for master branchThere's no `gitlab-ci.yml` fileThere's no `gitlab-ci.yml` filehttps://gitlab.idiap.ch/beat/beat.examples/-/issues/15String default values used in place of float for float types for plotters2019-06-17T06:02:28ZFlavio TARSETTIString default values used in place of float for float types for plottersString default are used in place of float for float types for plotters.
This affects the implementation of the "Plotter Editor" especially at the creation of the spinboxes that checks strictly for the correct typeString default are used in place of float for float types for plotters.
This affects the implementation of the "Plotter Editor" especially at the creation of the spinboxes that checks strictly for the correct typeFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.core/-/issues/34JSON declarations should be versioned2017-08-06T11:17:03ZAndré AnjosJSON declarations should be versionedWe should include a version field on the JSON declaration to allow for changes on the declaration to co-exist.We should include a version field on the JSON declaration to allow for changes on the declaration to co-exist.BTAS TutorialAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/5Database view is not working properly2018-04-13T08:03:56ZLaurent EL SHAFEYDatabase view is not working properlyWhen trying to view a dataset,
```
./bin/beat --prefix web_dynamic_data db view banca/1/Mc/dev_probes
```
I sometimes get this kind of errors:
```
Traceback (most recent call last):
File "./bin/beat", line 33, in <module>
...When trying to view a dataset,
```
./bin/beat --prefix web_dynamic_data db view banca/1/Mc/dev_probes
```
I sometimes get this kind of errors:
```
Traceback (most recent call last):
File "./bin/beat", line 33, in <module>
sys.exit(beat.cmdline.scripts.beat.main())
File "/remote/idiap.svm/user.active/lelshafey/work/beat_platform/beat.core/src/beat.cmdline/beat/cmdline/scripts/beat.py", line 160, in main
return module.process(args)
File "/remote/idiap.svm/user.active/lelshafey/work/beat_platform/beat.core/src/beat.cmdline/beat/cmdline/databases.py", line 402, in process
return view_output(args['config'], args['<set_name>'])
File "/remote/idiap.svm/user.active/lelshafey/work/beat_platform/beat.core/src/beat.cmdline/beat/cmdline/databases.py", line 355, in view_output
json_data[name] = common.stringify(value)
TypeError: 'str' object does not support item assignment
```
BTAS TutorialLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/16When selecting an already-taken I/O, switch with the other field2018-03-08T09:16:25ZJaden DIEFENBAUGHWhen selecting an already-taken I/O, switch with the other fieldKeeps from two i/os being selected in a blockKeeps from two i/os being selected in a blockhttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/16The input to a block gets the object from index method of View while the name...2018-09-18T12:27:44ZZohreh MOSTAANIThe input to a block gets the object from index method of View while the name from get method of ViewI am running an experiment locally using beat.editor. I defined the replay-attack database (using both my own code and the one in beat.examples (https://gitlab.idiap.ch/beat/beat.examples/blob/master/advanced/databases/replay/4.py) (usin...I am running an experiment locally using beat.editor. I defined the replay-attack database (using both my own code and the one in beat.examples (https://gitlab.idiap.ch/beat/beat.examples/blob/master/advanced/databases/replay/4.py) (using the grandtest protocol). I get the following error in both cases.
```
(beat_py3) zmostaani@helvetix02:/remote/idiap.svm/user.active/zmostaani/experiments/beat$ beat exp run zmostaani/zmostaani/sbhatta-iqm-face-antispoofing-test/1/replay2-antispoofing-iqm-lda-2
Index for database replay/2 not found, building it
Index for database replay/2 not found, building it
Index for database replay/2 not found, building it
Running `zmostaani/iqm_features/1' for block `Feats_IQM_Train'
Start the execution of 'zmostaani/iqm_features/1'
Traceback (most recent call last):
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/bin/beat", line 11, in <module>
sys.exit(main())
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/cmdline/decorators.py", line 75, in _decorator
value = view_func(*args, **kwargs)
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/cmdline/experiments.py", line 569, in run
return run_experiment(config, name, force, docker, local, quiet)
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/cmdline/experiments.py", line 212, in run_experiment
with executor:
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/core/execution/local.py", line 182, in __enter__
self._prepare_inputs()
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/core/execution/local.py", line 194, in _prepare_inputs
databases=self.databases
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/backend/python/helpers.py", line 195, in create_inputs_from_configuration
start_index=start_index, end_index=end_index)
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/backend/python/database.py", line 174, in setup
start_index=start_index, end_index=end_index, pack=pack)
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/backend/python/data.py", line 569, in setup
previous_value = getattr(obj, output_name)
AttributeError: 'Entry' object has no attribute 'class'
```
In get method there is 'class' but in the index there is not, because beat is using namedtuple for making the Entry points and this function does not allow to have name 'class' as an Entry. Even if I define a dictionary instead of namedtuple in my database the python backend is chainging it to namedtuple.
```
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/backend/python/database.py", line 157, in setup
Entry = namedtuple('Entry', sorted(objs[0].keys()))
File "/idiap/user/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/collections/__init__.py", line 404, in namedtuple
'keyword: %r' % name)
ValueError: Type names and field names cannot be a keyword: 'class'
```
I have two questions
- why not use simple dictionaries in python backend instead of namedtupe
- why the input of block is trying to access objects in index instead of get.
Please let me know if you need more information.