beat.cmdline issueshttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues2018-09-04T09:09:56Zhttps://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.cmdline/-/issues/45The script `beat.py` should be gone2018-08-27T15:37:08ZAndré AnjosThe script `beat.py` should be goneAfter replacing it by `main_cli.py`, I think this is now duplicated code which serves no purpose. @flavio.tarsetti, please check and make an MR which removes this file (https://gitlab.idiap.ch/beat/beat.cmdline/blob/1.4.x/beat/cmdline/sc...After replacing it by `main_cli.py`, I think this is now duplicated code which serves no purpose. @flavio.tarsetti, please check and make an MR which removes this file (https://gitlab.idiap.ch/beat/beat.cmdline/blob/1.4.x/beat/cmdline/scripts/beat.py).Flavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/43cache should be cleared to run new experiments even if the changes are in the...2018-08-18T04:34:25ZZohreh MOSTAANIcache should be cleared to run new experiments even if the changes are in the database block.from What I understood from the documentation of beat.editor about cache system, it seems that if you change something in a block, beat should rerun that block and all the blocks depending on it. But it is not the case.
I changed the ro...from What I understood from the documentation of beat.editor about cache system, it seems that if you change something in a block, beat should rerun that block and all the blocks depending on it. But it is not the case.
I changed the root folder for the database atnt/5 in the prefix given in beat.tutorial.prefix to run the experiment test/tutorial/eigenface/1/atnt , but I had to clear the cache, otherwise it would still point to the wrong address for the database, even-though the json file was updated immediately.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/41the plot function does not work properly2018-08-10T09:52:54ZZohreh MOSTAANIthe plot function does not work properlyI am following the documentation on beat.editor (https://www.idiap.ch/software/beat/docs/beat/docs/master/beat.editor/doc/user.html). I have a working conda environment with all the necessary packages and python 3.6 installed. I could ru...I am following the documentation on beat.editor (https://www.idiap.ch/software/beat/docs/beat/docs/master/beat.editor/doc/user.html). I have a working conda environment with all the necessary packages and python 3.6 installed. I could run the experiment in the tutorial but when I wanted to plot the results I got the following error. Any idea what might be the problem? Thanks.
`beat exp plot --show test/test/iris/1/iris`
`Traceback (most recent call last):
File "/idiap/temp/zmostaani/miniconda3/envs/beat_py3/bin/beat", line 11, in <module>
sys.exit(main())
File "/idiap/temp/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/idiap/temp/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/idiap/temp/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/temp/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/temp/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/temp/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/idiap/temp/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/temp/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/temp/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/cmdline/experiments.py", line 783, in plot
output_folder
File "/idiap/temp/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/beat/cmdline/experiments.py", line 496, in plot_impl
experiments = pull(webapi, configuration.path, [name], force, indentation, format_cache)
File "/idiap/temp/zmostaani/miniconda3/envs/beat_py3/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
TypeError: main() takes from 1 to 5 positional arguments but 7 were given`Flavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/44The connection in the toolchain is not being updated properly2018-08-08T14:39:24ZZohreh MOSTAANIThe connection in the toolchain is not being updated properlyI made a toolchain from scratch by looking at tutorial/eigenface/1 . I made some mistakes in connecting the endpoints but at the end I corrected them and all the names and connections in my toolchain were the same as this toolchain. Then...I made a toolchain from scratch by looking at tutorial/eigenface/1 . I made some mistakes in connecting the endpoints but at the end I corrected them and all the names and connections in my toolchain were the same as this toolchain. Then I used my toolchain in an experiment but it was not working. It said that the toolchain is not valid because certain connections are wrong. Looking at the json file of the toolchain, it turned out that the correct connections are added to the list of connections without the previous wrong ones being removed from them and therefore the error. I must say that in the beat editor gui everything seemed correct and valid.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/42cannot unassign an algorithm to a block in the experiment.2018-08-07T14:18:05ZZohreh MOSTAANIcannot unassign an algorithm to a block in the experiment.After choosing an algorithm for a block in an experiment it is not possible to assign no algorithm to that block. It is only possible to choose from certain algorithms. This is not the case for the Database though. If there is a problem ...After choosing an algorithm for a block in an experiment it is not possible to assign no algorithm to that block. It is only possible to choose from certain algorithms. This is not the case for the Database though. If there is a problem in the toolchain and you want to find out where the problem is it would be a good option to unassign an algorithm without deleting the whole block.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/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.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.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/33`edit` command fails with "File does not exist"2018-05-28T14:56:24ZJaden DIEFENBAUGH`edit` command fails with "File does not exist"I wanted to update my slides to use the new `edit` subcommand, but trying to use `beat <entity> edit <name>` fails for everything I've tried.
I tried
```
beat exp edit test/test/iris/1/iris
```
and I get:
```
File does not exist: /hom...I wanted to update my slides to use the new `edit` subcommand, but trying to use `beat <entity> edit <name>` fails for everything I've tried.
I tried
```
beat exp edit test/test/iris/1/iris
```
and I get:
```
File does not exist: /home/jae/code/beat.editor/prefix/experiments/test/test/iris/1/iris.json
```
However, `cat`ing that absolute path works:
```
cat /home/jae/code/beat.editor/prefix/experiments/test/test/iris/1/iris.json
```
prints the file contents.
Same thing with `beat alg edit test/iris_analyzer/1`, giving:
```
File does not exist: /home/jae/code/beat.editor/prefix/algorithms/test/iris_analyzer/1.py
```
and `beat lib edit plot/baselib/1` giving:
```
File does not exist: /home/jae/code/beat.editor/prefix/libraries/plot/baselib/1.py
```
All of these files do actually exist and `cat`ing them using that given file path works.
@flavio.tarsetti @samuel.gaisthttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/32Plots from different experiments using the same username, toolchain, and anal...2018-05-25T08:12:13ZJaden DIEFENBAUGHPlots from different experiments using the same username, toolchain, and analyzer output names overwrite eachotherSay there are two experiments, `test/test/iris/1/iris` and `test/test/iris/1/means`. The experiment metadata for each of these experiments will be found in the same folder, `test/test/iris/1`. Say that these experiments use the same anal...Say there are two experiments, `test/test/iris/1/iris` and `test/test/iris/1/means`. The experiment metadata for each of these experiments will be found in the same folder, `test/test/iris/1`. Say that these experiments use the same analyzer as well.
If you plot these experiments , the last one to be plotted will overwrite the other experiment's plot files. This is because there is no per-experiment unique key added to the plot image file names - instead the file names are only based off of the output names in the analyzer.Flavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/28Local plotting doesn't work2018-05-16T15:43:50ZJaden DIEFENBAUGHLocal plotting doesn't workDidn't have time to try the new plotting code until now...and plotting local experiments doesn't work.
I try to plot an experiment (`beat exp plot test/tutorial/eigenface/1/atnt`) and I get this:
```
retrieving `plotters/plotterparamete...Didn't have time to try the new plotting code until now...and plotting local experiments doesn't work.
I try to plot an experiment (`beat exp plot test/tutorial/eigenface/1/atnt`) and I get this:
```
retrieving `plotters/plotterparameters/plot/isoroc/1'...
findfont: Found a missing font file. Rebuilding cache.
font search path ['/home/jae/miniconda3/envs/beat/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf', '/home/jae/miniconda3/envs/beat/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm', '/home/jae/miniconda3/envs/beat/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts']
Could not open font file /usr/share/fonts/noto/NotoColorEmoji.ttf
generated new fontManager
Traceback (most recent call last):
File "/home/jae/miniconda3/envs/beat/bin/beat", line 11, in <module>
sys.exit(main())
File "/home/jae/miniconda3/envs/beat/lib/python3.6/site-packages/beat/cmdline/scripts/beat.py", line 183, in main
return module.process(args)
File "/home/jae/miniconda3/envs/beat/lib/python3.6/site-packages/beat/cmdline/experiments.py", line 620, in process
force, 0, {}, args['--outputfolder'])
File "/home/jae/miniconda3/envs/beat/lib/python3.6/site-packages/beat/cmdline/experiments.py", line 550, in plot
data.as_dict()[the_data], output_name, None, indentation + 2, format_cache)
File "/home/jae/miniconda3/envs/beat/lib/python3.6/site-packages/beat/cmdline/plotters.py", line 257, in plot
fig = runnable.process(data_to_plot)
File "/home/jae/miniconda3/envs/beat/lib/python3.6/site-packages/beat/core/plotter.py", line 95, in process
return loader.run(self.obj, 'process', self.exc, inputs)
File "/home/jae/miniconda3/envs/beat/lib/python3.6/site-packages/beat/backend/python/loader.py", line 109, in run
return getattr(obj, method)(*args, **kwargs)
File "/home/jae/code/beat.editor/prefix/plotters/plot/isoroc/1.py", line 143, in process
return super(Plotter, self).encode_figure(fig)
File "/home/jae/code/beat.editor/prefix/libraries/plot/baselib/1.py", line 85, in encode_figure
if self.content_type.endswith('png'): canvas.print_png(sio)
File "/home/jae/miniconda3/envs/beat/lib/python3.6/site-packages/matplotlib/backends/backend_agg.py", line 528, in print_png
self.figure.dpi, metadata=metadata)
TypeError: string argument expected, got 'bytes'
```
Maybe the `plot/baselib/1` library should be updated?https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/16Add experiment results plot generation command2018-05-15T13:54:56ZJaden DIEFENBAUGHAdd experiment results plot generation commandI don't see a way to generate~visualize results from successfully-ran experiments outside of pushing the experiment to a `beat.web` installation. This feature seems practically necessary for a easy development cycle.
Maybe add a sub-com...I don't see a way to generate~visualize results from successfully-ran experiments outside of pushing the experiment to a `beat.web` installation. This feature seems practically necessary for a easy development cycle.
Maybe add a sub-command to the experiments or plotters command groups?Flavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/20Format for storing plotterparameters in prefix2018-05-15T13:54:13ZJaden DIEFENBAUGHFormat for storing plotterparameters in prefix@flavio.tarsetti how does the system associate plotters & plotterparameters?
The names aren't associated, as the plotterparameter `plot/det_40x40/1` isn't a similar name to `plot/isoroc/1`. And the plotterparameter content is:
```json
...@flavio.tarsetti how does the system associate plotters & plotterparameters?
The names aren't associated, as the plotterparameter `plot/det_40x40/1` isn't a similar name to `plot/isoroc/1`. And the plotterparameter content is:
```json
{
"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
}
```
How do we associate them?https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/21Add local environment querying support2018-05-15T13:53:51ZJaden DIEFENBAUGHAdd local environment querying support(This is the first part of beat.editor#77)
Right now `beat.core` can tell us about the available local environments available (see [`dock.py`](https://gitlab.idiap.ch/beat/beat.core/blob/a8871304860b9e7c87f3b7ec08c0b308ccd0908a/beat/cor...(This is the first part of beat.editor#77)
Right now `beat.core` can tell us about the available local environments available (see [`dock.py`](https://gitlab.idiap.ch/beat/beat.core/blob/a8871304860b9e7c87f3b7ec08c0b308ccd0908a/beat/core/dock.py#L149)). The goal is to give `beat.editor` access to this info, which means that `beat.cmdline` needs a nice way to supply this info.
I'd add a new beat sub-app, `environment` (with an `env` shortcut) with a `list` command that would give the necessary info. Ideally the environment info would be provided in some machine-parseable format and provide at least:
- environment names & versions
- queues for each environment along with their slot counts
- the environments' packages (names & versions)
Right now I'm thinking to just use JSON of the same format as the beat.web endpoint for environments. [BEAT staging example](http://beatweb-staging.lab.idiap.ch:80/api/v1/backend/environments/):
```json
[
{
"name": "Scientific Python 2.7",
"queues": {
"Default": {
"memory_limit": 5983,
"nb_slots": 2,
"max_slots_per_user": 2,
"nb_cores_per_slot": 1,
"time_limit": 360
}
},
"accessibility": "public",
"languages": [
"python"
],
"version": "0.0.4",
"short_description": "Scientific Python 2.7"
},
{
"name": "Scientific Python 2.7",
"queues": {
"Default": {
"memory_limit": 5983,
"nb_slots": 2,
"max_slots_per_user": 2,
"nb_cores_per_slot": 1,
"time_limit": 360
}
},
"accessibility": "public",
"languages": [
"python"
],
"version": "1.0.0",
"short_description": "Scientific Python 2.7"
}
]
```
The one thing missing is the package info. There would be a `"packages"` field added to each environment that points to a dict consisting of package names for keys and versions for values:
```json
[
{
"name": "Scientific Python 2.7",
"packages": {
"alabaster": "0.7.6",
"babel": "1.3",
...
},
"queues": {
"Default": {
"memory_limit": 5983,
"nb_slots": 2,
"max_slots_per_user": 2,
"nb_cores_per_slot": 1,
"time_limit": 360
}
},
"accessibility": "public",
"languages": [
"python"
],
"version": "0.0.4",
"short_description": "Scientific Python 2.7"
},
{
"name": "Scientific Python 2.7",
"packages": {
"alabaster": "0.7.10",
"Babel": "2.4.0",
...
},
"queues": {
"Default": {
"memory_limit": 5983,
"nb_slots": 2,
"max_slots_per_user": 2,
"nb_cores_per_slot": 1,
"time_limit": 360
}
},
"accessibility": "public",
"languages": [
"python"
],
"version": "1.0.0",
"short_description": "Scientific Python 2.7"
}
]
```
This is the same extension proposed in beat.web#495.Jaden DIEFENBAUGHJaden DIEFENBAUGHhttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/13Support Python 3.x2018-05-14T12:20:39ZJaden DIEFENBAUGHSupport Python 3.xRight now buildout with python 3.x gives an error when using the `beat`.Right now buildout with python 3.x gives an error when using the `beat`.Gitlab CI Integrationhttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/30[ci] issue with docker2018-05-10T12:13:54ZFlavio TARSETTI[ci] issue with dockerHi @andre.anjos ,
Do you see why docker is causing issues here ?
https://gitlab.idiap.ch/beat/beat.cmdline/pipelines/19968
ThanksHi @andre.anjos ,
Do you see why docker is causing issues here ?
https://gitlab.idiap.ch/beat/beat.cmdline/pipelines/19968
ThanksAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/26[config] set2018-05-05T22:52:16ZFlavio TARSETTI[config] set@andre.anjos @jdiefenbaugh @samuel.gaist
There's a bug with the config set [options]
it systematically adds a "}" at the end of the local config file or sometimes a new user: "user"} line.
And it breaks everything afterwards.
Needs t...@andre.anjos @jdiefenbaugh @samuel.gaist
There's a bug with the config set [options]
it systematically adds a "}" at the end of the local config file or sometimes a new user: "user"} line.
And it breaks everything afterwards.
Needs to be checked.