craceplot 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- craceplot/__init__.py +60 -0
- craceplot/_containers/__init__.py +0 -0
- craceplot/_containers/_core.py +1602 -0
- craceplot/_containers/_draw.py +104 -0
- craceplot/_inst/examples/acotsp/crace-3240078.stdout +838 -0
- craceplot/_inst/examples/acotsp/crace.stderr +8 -0
- craceplot/_inst/examples/acotsp/crace.test +216 -0
- craceplot/_inst/examples/acotsp/crace.train +622 -0
- craceplot/_inst/examples/cats200/crace-2814581.stdout +1665 -0
- craceplot/_inst/examples/cats200/crace.stderr +10 -0
- craceplot/_inst/examples/cats200/crace.test +1010 -0
- craceplot/_inst/examples/cats200/crace.train +655 -0
- craceplot/_plots/__init__.py +8 -0
- craceplot/_plots/_core.py +80 -0
- craceplot/_plots/parameters.py +1805 -0
- craceplot/_plots/quality.py +1406 -0
- craceplot/_scripts/__init__.py +4 -0
- craceplot/_scripts/_main.py +132 -0
- craceplot/_scripts/_utils.py +66 -0
- craceplot/_scripts/main +3 -0
- craceplot/_scripts/open_guide +12 -0
- craceplot/_settings/_description.py +168 -0
- craceplot/_settings/_options.json +299 -0
- craceplot/_utils/__init__.py +0 -0
- craceplot/_utils/_base.py +196 -0
- craceplot/_utils/_const.py +8 -0
- craceplot/_utils/_crace.py +42 -0
- craceplot/_utils/_format.py +191 -0
- craceplot/_vergit.py +2 -0
- craceplot/_version.py +24 -0
- craceplot/_vignettes/guide.ipynb +18943 -0
- craceplot-0.1.0.dist-info/METADATA +369 -0
- craceplot-0.1.0.dist-info/RECORD +61 -0
- craceplot-0.1.0.dist-info/WHEEL +5 -0
- craceplot-0.1.0.dist-info/entry_points.txt +2 -0
- craceplot-0.1.0.dist-info/licenses/LICENSE.md +21 -0
- craceplot-0.1.0.dist-info/top_level.txt +2 -0
- docs/_config.yml +51 -0
- docs/_static/css/custom.css +168 -0
- docs/_static/js/navbar.js +40 -0
- docs/_toc.yml +5 -0
- docs/index.md +4 -0
- docs/references/404.md +14 -0
- docs/references/authors.md +46 -0
- docs/references/citiation.bib +17 -0
- docs/references/functions/index.md +5 -0
- docs/references/functions/param_boxplot.ipynb +19 -0
- docs/references/index.md +44 -0
- docs/references/license.md +21 -0
- docs/references/others/favicon.ico +0 -0
- docs/references/others/favicon_io/about.txt +6 -0
- docs/references/others/favicon_io/android-chrome-192x192.png +0 -0
- docs/references/others/favicon_io/android-chrome-512x512.png +0 -0
- docs/references/others/favicon_io/apple-touch-icon.png +0 -0
- docs/references/others/favicon_io/favicon-16x16.png +0 -0
- docs/references/others/favicon_io/favicon-32x32.png +0 -0
- docs/references/others/favicon_io/site.webmanifest +1 -0
- docs/references/others/logo.png +0 -0
- docs/references/others/logo1.png +0 -0
- docs/references/plots/acotsp-parallelcoord-all.png +0 -0
- docs/requirements.txt +5 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import sys
|
|
3
|
+
import re
|
|
4
|
+
import inspect
|
|
5
|
+
import traceback
|
|
6
|
+
|
|
7
|
+
current_file = os.path.normpath(__file__)
|
|
8
|
+
CPLOT_HOME = os.path.dirname(os.path.dirname(os.path.dirname(current_file)))
|
|
9
|
+
if CPLOT_HOME not in map(os.path.abspath, sys.path):
|
|
10
|
+
sys.path.insert(0, os.path.abspath(CPLOT_HOME))
|
|
11
|
+
|
|
12
|
+
from craceplot._containers._core import ParseOptions, Errors as CE
|
|
13
|
+
from craceplot._containers._draw import DrawPlot, load_results
|
|
14
|
+
|
|
15
|
+
def start_cmdline(arguments=None, console: bool=True):
|
|
16
|
+
"""
|
|
17
|
+
Function that executes the configuration procedure with arguments from the command line
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
data = None
|
|
21
|
+
scenario = None
|
|
22
|
+
current_dir = os.getcwd()
|
|
23
|
+
|
|
24
|
+
try:
|
|
25
|
+
scenario = ParseOptions.from_input(arguments=arguments, console=console)
|
|
26
|
+
|
|
27
|
+
if scenario.logDir.value is not None:
|
|
28
|
+
data = load_results(options=scenario.options, data_home=scenario.logDir.value)
|
|
29
|
+
|
|
30
|
+
if data:
|
|
31
|
+
if console:
|
|
32
|
+
# check if there is any other options
|
|
33
|
+
any_arg = False
|
|
34
|
+
for o in scenario.options:
|
|
35
|
+
if scenario._get_option(o).long in arguments or scenario._get_option(o).short in arguments:
|
|
36
|
+
if scenario._get_option(o).name != 'logDir':
|
|
37
|
+
any_arg = True
|
|
38
|
+
break
|
|
39
|
+
# if there is only one option logDir, return
|
|
40
|
+
if not any_arg: return data, scenario
|
|
41
|
+
# other cases:
|
|
42
|
+
# - not in console
|
|
43
|
+
# - including other options
|
|
44
|
+
print(f"# Setting working directory: {scenario.logDir.value}\n#")
|
|
45
|
+
if os.path.exists(scenario.logDir.value):
|
|
46
|
+
os.chdir(scenario.logDir.value)
|
|
47
|
+
if scenario.drawMethod.value is not None: DrawPlot(reader=scenario, src_data=data)
|
|
48
|
+
os.chdir(current_dir)
|
|
49
|
+
|
|
50
|
+
if console: return data, scenario
|
|
51
|
+
|
|
52
|
+
except KeyboardInterrupt:
|
|
53
|
+
print()
|
|
54
|
+
|
|
55
|
+
except SystemExit:
|
|
56
|
+
pass
|
|
57
|
+
|
|
58
|
+
except Exception as e:
|
|
59
|
+
if any(isinstance(e, cls) for cls in [x[1] for x in inspect.getmembers(CE, inspect.isclass)]):
|
|
60
|
+
pass
|
|
61
|
+
else:
|
|
62
|
+
print("\nERROR: There was an error while executing craceplot:")
|
|
63
|
+
sys.tracebacklimit = 20
|
|
64
|
+
traceback.print_exc()
|
|
65
|
+
print(e)
|
|
66
|
+
|
|
67
|
+
if not console: sys.exit(1)
|
|
68
|
+
|
|
69
|
+
return
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def _parse_args(*args):
|
|
73
|
+
if len(args) == 1:
|
|
74
|
+
args = args[0]
|
|
75
|
+
if isinstance(args, list):
|
|
76
|
+
outs = args
|
|
77
|
+
elif isinstance(args, str):
|
|
78
|
+
outs = re.split(r"[ ,]+", args)
|
|
79
|
+
else:
|
|
80
|
+
outs = list(args)
|
|
81
|
+
return [str(x) for x in outs]
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
def run(*inputs):
|
|
85
|
+
return start_cplot(*inputs)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def start_cplot(*kargs, arguments: list=None, console: bool=True):
|
|
89
|
+
"""
|
|
90
|
+
Allowed to be called: 1. by entry point,
|
|
91
|
+
2. by crace_mpi
|
|
92
|
+
3. in python console
|
|
93
|
+
"""
|
|
94
|
+
if arguments is not None and kargs:
|
|
95
|
+
raise TypeError(
|
|
96
|
+
"load_options() accepts either positional arguments "
|
|
97
|
+
"or 'arguments=', not both")
|
|
98
|
+
if arguments is not None:
|
|
99
|
+
arguments = _parse_args(arguments)
|
|
100
|
+
elif len(kargs) > 0:
|
|
101
|
+
arguments = _parse_args(*kargs)
|
|
102
|
+
|
|
103
|
+
if not arguments:
|
|
104
|
+
# arguments may be [] (not None)
|
|
105
|
+
arguments = sys.argv[1:] # command line arguments as a list
|
|
106
|
+
|
|
107
|
+
if ('--crace' in arguments) or ('-c' in arguments):
|
|
108
|
+
index = arguments.index('--crace') if '--crace' in arguments else arguments.index('-c')
|
|
109
|
+
try:
|
|
110
|
+
from craceplot._utils._crace import get_crace
|
|
111
|
+
crace_main_file = arguments[index + 1]
|
|
112
|
+
crace = get_crace(crace_main_file)
|
|
113
|
+
print(f"# Loading crace from: {crace_main_file}")
|
|
114
|
+
print(f"# crace version: {crace.__version__}")
|
|
115
|
+
del arguments[index:index + 2]
|
|
116
|
+
except IndexError:
|
|
117
|
+
raise RuntimeError("Please provide the path to crace/scripts/main.py after --crace or -c")
|
|
118
|
+
|
|
119
|
+
if len(arguments) == 0: return
|
|
120
|
+
|
|
121
|
+
data = start_cmdline(arguments, console)
|
|
122
|
+
|
|
123
|
+
if data: return data
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
if __name__ == '__main__':
|
|
128
|
+
"""
|
|
129
|
+
Allowed to be called only by this file
|
|
130
|
+
"""
|
|
131
|
+
from craceplot._scripts._utils import cplot_run
|
|
132
|
+
cplot_run()
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
def cplot_guide():
|
|
2
|
+
import os, sys
|
|
3
|
+
import pathlib
|
|
4
|
+
import webbrowser
|
|
5
|
+
try:
|
|
6
|
+
import craceplot
|
|
7
|
+
dir_cplot = pathlib.Path(craceplot.__file__).resolve().parent
|
|
8
|
+
except:
|
|
9
|
+
dir_cplot = pathlib.Path(__file__).resolve().parent.parent
|
|
10
|
+
|
|
11
|
+
guide = pathlib.Path(os.path.join(dir_cplot, '_vignettes/guide.ipynb'))
|
|
12
|
+
|
|
13
|
+
# not support system without GUI
|
|
14
|
+
if guide.exists():
|
|
15
|
+
print(guide)
|
|
16
|
+
webbrowser.open(guide.as_uri())
|
|
17
|
+
else:
|
|
18
|
+
sys.exit(1)
|
|
19
|
+
|
|
20
|
+
def cplot_examples(destname):
|
|
21
|
+
import sys
|
|
22
|
+
import pathlib
|
|
23
|
+
import platform
|
|
24
|
+
import subprocess
|
|
25
|
+
|
|
26
|
+
try:
|
|
27
|
+
import craceplot
|
|
28
|
+
dir_cplot = pathlib.Path(craceplot.__file__).resolve().parent
|
|
29
|
+
except:
|
|
30
|
+
dir_cplot = pathlib.Path(__file__).resolve().parent.parent
|
|
31
|
+
|
|
32
|
+
if destname in ("which", "where"):
|
|
33
|
+
destpath = pathlib.Path(dir_cplot)
|
|
34
|
+
print(destpath)
|
|
35
|
+
else:
|
|
36
|
+
destpath = pathlib.Path(dir_cplot / '_inst/' / destname)
|
|
37
|
+
print(destpath)
|
|
38
|
+
|
|
39
|
+
# not support system without GUI
|
|
40
|
+
system = platform.system()
|
|
41
|
+
if destpath.exists():
|
|
42
|
+
if system == "Darwin": # macOS
|
|
43
|
+
subprocess.run(["open", destpath])
|
|
44
|
+
elif system == "Windows":
|
|
45
|
+
subprocess.run(["explorer", destpath])
|
|
46
|
+
else: # Linux
|
|
47
|
+
subprocess.run(["xdg-open", destpath])
|
|
48
|
+
else:
|
|
49
|
+
sys.exit(1)
|
|
50
|
+
|
|
51
|
+
def cplot_run():
|
|
52
|
+
import sys
|
|
53
|
+
|
|
54
|
+
from craceplot._scripts._main import start_cplot
|
|
55
|
+
|
|
56
|
+
if len(sys.argv) > 1:
|
|
57
|
+
|
|
58
|
+
if sys.argv[1] == "doc":
|
|
59
|
+
cplot_guide()
|
|
60
|
+
return
|
|
61
|
+
|
|
62
|
+
if sys.argv[1].lower() in ("examples", "templates", "which", "where"):
|
|
63
|
+
cplot_examples(sys.argv[1].lower())
|
|
64
|
+
return
|
|
65
|
+
|
|
66
|
+
start_cplot(arguments=sys.argv[1:], console=False)
|
craceplot/_scripts/main
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
if ! DIRCPLOT=$(python3 -c "import crace, pathlib; print(pathlib.Path(crace.__file__).resolve().parent)" 2>/dev/null); then
|
|
3
|
+
DIRCPLOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
4
|
+
fi
|
|
5
|
+
|
|
6
|
+
FILE="$DIRCPLOT/_vignettes/guide.ipynb"
|
|
7
|
+
|
|
8
|
+
case "$OSTYPE" in
|
|
9
|
+
darwin*) open "$FILE" ;;
|
|
10
|
+
linux*) xdg-open "$FILE" ;;
|
|
11
|
+
*) start "$FILE" ;;
|
|
12
|
+
esac
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# craceplot/_description.py
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
package_name = "craceplot"
|
|
6
|
+
authors = ['Yunshuang Xiao']
|
|
7
|
+
maintainers = ['Yunshuang Xiao']
|
|
8
|
+
maintainers_email = ['yunshuang.xiao@ulb.be']
|
|
9
|
+
contact = 'crace developers'
|
|
10
|
+
contact_email = 'race.autoconfig@gmail.com'
|
|
11
|
+
|
|
12
|
+
description = "craceplot: Visualisation of Data from crace"
|
|
13
|
+
long_description = """
|
|
14
|
+
craceplot: Visualisation of Data from crace
|
|
15
|
+
==========================================================================
|
|
16
|
+
|
|
17
|
+
craceplot provides a set of functions to create plots to visualize the data from the crace package.
|
|
18
|
+
|
|
19
|
+
The configuration process performed by crace will show at the end of the execution one or more configurations that are the best performing configurations found. This package provides a set of functions that allow to further assess the performance of these configurations and provides support to obtain insights about the details of the configuration process.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
url = "https://race-autoconfig.github.io/craceplot/"
|
|
23
|
+
url_home = url
|
|
24
|
+
url_source = "https://github.com/race-autoconfig/craceplot/"
|
|
25
|
+
url_tracker = "https://github.com/race-autoconfig/craceplot/issues"
|
|
26
|
+
urls = {
|
|
27
|
+
'Homepage': url_home,
|
|
28
|
+
'Source': url_source,
|
|
29
|
+
'Tracker': url_tracker,
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
_year = datetime.now().year
|
|
33
|
+
copyright = (
|
|
34
|
+
f"Copyright (c) 2026-{_year} crace developers"
|
|
35
|
+
if _year > 2026
|
|
36
|
+
else "Copyright (c) 2026 crace developers"
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
license = f"""
|
|
40
|
+
This is free software: you can redistribute it and/or modify it under the terms of the MIT License as published by the Free Software Foundation.
|
|
41
|
+
|
|
42
|
+
This is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MIT License for more details.
|
|
43
|
+
|
|
44
|
+
craceplot builds as an additional tool for the crace package:
|
|
45
|
+
crace: Continuous Racing for Automatic Algorithm Configuration
|
|
46
|
+
{copyright}
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
citiation = """
|
|
50
|
+
To cite package 'craceplot' in publications, an appropriate citation is
|
|
51
|
+
|
|
52
|
+
Yunshuang Xiao, Leslie Pérez Cáceres, Manuel López-Ibáñez, and Thomas Stützle. 2023. Algorithm Configuration via Continuously Racing: Preliminary Results. In Proceedings of the Companion Conference on Genetic and Evolutionary Computation (GECCO '23 Companion). Association for Computing Machinery, New York, NY, USA, 1744-1752. https://doi.org/10.1145/3583133.3596408
|
|
53
|
+
|
|
54
|
+
A BibTeX entry for LaTeX users is
|
|
55
|
+
|
|
56
|
+
@inproceedings{10.1145/3583133.3596408,
|
|
57
|
+
title = {Algorithm Configuration via Continuously Racing: Preliminary Results},
|
|
58
|
+
author = {Xiao, Yunshuang and Pérez Cáceres, Leslie and López-Ibáñez, Manuel and Stützle, Thomas},
|
|
59
|
+
booktitle = {Proceedings of the Companion Conference on Genetic and Evolutionary Computation},
|
|
60
|
+
pages = {1744-1752},
|
|
61
|
+
year = {2023},
|
|
62
|
+
}
|
|
63
|
+
"""
|
|
64
|
+
|
|
65
|
+
_VERSION = "0.1.0"
|
|
66
|
+
update_logs = """
|
|
67
|
+
|
|
68
|
+
The first release of craceplot, version 0.1.0.
|
|
69
|
+
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def __getattr__(name: str):
|
|
74
|
+
if name == "version":
|
|
75
|
+
ver = _get_version()
|
|
76
|
+
globals()["version"] = ver
|
|
77
|
+
return ver
|
|
78
|
+
raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def _get_version():
|
|
83
|
+
"""
|
|
84
|
+
read version information from
|
|
85
|
+
1. _version.py generated by setuptools_scm
|
|
86
|
+
2. _vergit.py formated using git archive
|
|
87
|
+
* must set .gitattributes (crace/_vergit.py export-subst) in advanve
|
|
88
|
+
3. .git/HEAD and .git/<ref> if src includes .git directory
|
|
89
|
+
4. check the latest modification date of all src files
|
|
90
|
+
0. fallback to _VERSION
|
|
91
|
+
"""
|
|
92
|
+
import os
|
|
93
|
+
import inspect
|
|
94
|
+
from pathlib import Path
|
|
95
|
+
|
|
96
|
+
try:
|
|
97
|
+
current_dir = Path(__file__).resolve().parent.parent
|
|
98
|
+
except NameError:
|
|
99
|
+
caller_file = inspect.stack()[1].filename
|
|
100
|
+
current_dir = Path(caller_file).resolve().parent.parent
|
|
101
|
+
|
|
102
|
+
dest_ver = current_dir / "_version.py"
|
|
103
|
+
dest_git = current_dir / "_vergit.py"
|
|
104
|
+
dest_git_dir = current_dir.parent / ".git"
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
try:
|
|
108
|
+
if os.path.exists(dest_ver):
|
|
109
|
+
d = {}
|
|
110
|
+
with open(dest_ver) as f:
|
|
111
|
+
exec(f.read(), d)
|
|
112
|
+
return d.get("version", d.get("__version__", _VERSION))
|
|
113
|
+
except Exception:
|
|
114
|
+
pass
|
|
115
|
+
|
|
116
|
+
try:
|
|
117
|
+
import re
|
|
118
|
+
if os.path.exists(dest_git):
|
|
119
|
+
d = {}
|
|
120
|
+
with open(dest_git) as f:
|
|
121
|
+
exec(f.read(), d)
|
|
122
|
+
ver = d.get("version", d.get("__version__", _VERSION))
|
|
123
|
+
match = re.search(r"tag:\s*([^,\)]+)", ver)
|
|
124
|
+
if match: return match.group(1)
|
|
125
|
+
except Exception:
|
|
126
|
+
pass
|
|
127
|
+
|
|
128
|
+
try:
|
|
129
|
+
commit = None
|
|
130
|
+
if os.path.exists(dest_git_dir):
|
|
131
|
+
head = (dest_git_dir / "HEAD").read_text().strip()
|
|
132
|
+
packed_tag = dest_git_dir / "packed-refs"
|
|
133
|
+
|
|
134
|
+
if head.startswith("ref:"):
|
|
135
|
+
ref = head.split(" ", 1)[1]
|
|
136
|
+
try:
|
|
137
|
+
commit = (dest_git_dir / ref).read_text().strip()[:7]
|
|
138
|
+
except Exception:
|
|
139
|
+
for t in packed_tag.read_text().splitlines():
|
|
140
|
+
if t.startswith("#"): continue
|
|
141
|
+
s, r = t.split(" ", 1)
|
|
142
|
+
if r.strip() == ref:
|
|
143
|
+
commit = s[:7]
|
|
144
|
+
else:
|
|
145
|
+
commit = head[:7]
|
|
146
|
+
|
|
147
|
+
if commit: return commit
|
|
148
|
+
|
|
149
|
+
except Exception:
|
|
150
|
+
pass
|
|
151
|
+
|
|
152
|
+
ignore_files = {".git",
|
|
153
|
+
"__pycache__",
|
|
154
|
+
"build",
|
|
155
|
+
"dist",
|
|
156
|
+
}
|
|
157
|
+
try:
|
|
158
|
+
latest = 0
|
|
159
|
+
for root, dirs, files in os.walk(current_dir.parent):
|
|
160
|
+
dirs[:] = [ d for d in dirs if d not in ignore_files]
|
|
161
|
+
for f in files:
|
|
162
|
+
p = Path(root) / f
|
|
163
|
+
latest = max(latest, os.path.getmtime(p))
|
|
164
|
+
return _VERSION + ' ' + datetime.fromtimestamp(latest).strftime("%b.%d.%Y")
|
|
165
|
+
except Exception:
|
|
166
|
+
pass
|
|
167
|
+
|
|
168
|
+
return _VERSION
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": ".help",
|
|
4
|
+
"type": "e",
|
|
5
|
+
"short": "-h",
|
|
6
|
+
"long": "--help",
|
|
7
|
+
"default": null,
|
|
8
|
+
"section": "Utility options",
|
|
9
|
+
"critical": 1,
|
|
10
|
+
"description": "Show this help.",
|
|
11
|
+
"vignettes": "Show the list of command-line options of \u001b[1mcraceplot\u001b[0m"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": ".man",
|
|
15
|
+
"type": "s",
|
|
16
|
+
"long": "--man",
|
|
17
|
+
"short": "-m",
|
|
18
|
+
"default": null,
|
|
19
|
+
"domain": null,
|
|
20
|
+
"section": "Utility options",
|
|
21
|
+
"critical": 1,
|
|
22
|
+
"description": "Show details of the selected option.",
|
|
23
|
+
"vignettes": "Show details of the selected option. call with \u001b[1m--man [option]\u001b[0m"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": ".version",
|
|
27
|
+
"type": "e",
|
|
28
|
+
"short": "-v",
|
|
29
|
+
"long": "--version",
|
|
30
|
+
"default": null,
|
|
31
|
+
"section": "Utility options",
|
|
32
|
+
"critical": 1,
|
|
33
|
+
"description": "Show the version of crace-plot.",
|
|
34
|
+
"vignettes": "Show the version of \u001b[1mcraceplot\u001b[0m."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": ".doc",
|
|
38
|
+
"type": "e",
|
|
39
|
+
"short": "",
|
|
40
|
+
"long": "doc",
|
|
41
|
+
"default": null,
|
|
42
|
+
"section": "Utility options",
|
|
43
|
+
"critical": -1,
|
|
44
|
+
"description": "Open the user guide. This command must be the first argument.",
|
|
45
|
+
"vignettes": "Open the user guide of crace. This command must be the first argument."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": ".examples",
|
|
49
|
+
"type": "e",
|
|
50
|
+
"short": "",
|
|
51
|
+
"long": "examples",
|
|
52
|
+
"default": null,
|
|
53
|
+
"section": "Utility options",
|
|
54
|
+
"critical": -1,
|
|
55
|
+
"description": "Open examples folder. This command must be the first argument.",
|
|
56
|
+
"vignettes": "Open examples folder. This command must be the first argument."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": ".templates",
|
|
60
|
+
"type": "e",
|
|
61
|
+
"short": "",
|
|
62
|
+
"long": "templates",
|
|
63
|
+
"default": null,
|
|
64
|
+
"section": "Utility options",
|
|
65
|
+
"critical": -1,
|
|
66
|
+
"description": "Open templates folder. This command must be the first argument.",
|
|
67
|
+
"vignettes": "Open templates folder. This command must be the first argument."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": ".which",
|
|
71
|
+
"type": "e",
|
|
72
|
+
"short": "",
|
|
73
|
+
"long": "which",
|
|
74
|
+
"default": null,
|
|
75
|
+
"section": "Utility options",
|
|
76
|
+
"critical": -1,
|
|
77
|
+
"description": "Open crace root folder. This command must be the first argument.",
|
|
78
|
+
"vignettes": "Open crace root folder. This command must be the first argument."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": ".where",
|
|
82
|
+
"type": "e",
|
|
83
|
+
"short": "",
|
|
84
|
+
"long": "where",
|
|
85
|
+
"default": null,
|
|
86
|
+
"section": "Utility options",
|
|
87
|
+
"critical": -1,
|
|
88
|
+
"description": "Open crace root folder. This command must be the first argument.",
|
|
89
|
+
"vignettes": "Open crace root folder. This command must be the first argument."
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "logDir",
|
|
93
|
+
"type": "p",
|
|
94
|
+
"short": "-l",
|
|
95
|
+
"long": "--log-dir",
|
|
96
|
+
"default": ".\/race_log",
|
|
97
|
+
"section": "General options",
|
|
98
|
+
"critical": 0,
|
|
99
|
+
"description": "Directory where the results are from.",
|
|
100
|
+
"vignettes": "Directory where the results are from. The default log directory is the current folder.\\begin{xwarningbox}The execution directory must exist before executing \u001b[1mcraceplot\u001b[0m, it will not be created automatically.\\end{xwarningbox}"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "outDir",
|
|
104
|
+
"type": "p",
|
|
105
|
+
"short": "-o",
|
|
106
|
+
"long": "--out-dir",
|
|
107
|
+
"default": ".\/",
|
|
108
|
+
"section": "General options",
|
|
109
|
+
"critical": 0,
|
|
110
|
+
"description": "Directory where the output files will be storaged.",
|
|
111
|
+
"vignettes": "Directory where the craceplot outputs will be storaged. The default output directory is the current folder. \\begin{xwarningbox}This directory can be created automatically when executing \u001b[1mcraceplot\u001b[0m. \\end{xwarningbox}"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "title",
|
|
115
|
+
"type": "s",
|
|
116
|
+
"short": "-t",
|
|
117
|
+
"long": "--title",
|
|
118
|
+
"default": null,
|
|
119
|
+
"section":"General options",
|
|
120
|
+
"critical": 0,
|
|
121
|
+
"description": "The title of the output plot which would be shown in plot.",
|
|
122
|
+
"vignettes": "The title of the output plot which would be shown in plot. The default value of this option depends on the \u001b[4mlogDir\u001b[0m and the \u001b[4mdrawMethod\u001b[0m. This option is only avaliable when \u001b[4mlogDir\u001b[0m and \u001b[4mdrawMethod\u001b[0m are not None."
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "fileName",
|
|
126
|
+
"type": "s",
|
|
127
|
+
"short": "-f",
|
|
128
|
+
"long": "--file-name",
|
|
129
|
+
"default": null,
|
|
130
|
+
"section":"General options",
|
|
131
|
+
"critical": 0,
|
|
132
|
+
"description": "The name of the output plot file.",
|
|
133
|
+
"vignettes": "The name of the output plot file. The default value of this option is \u001b[1mcurrent time\u001b[0m. This option is only avaliable when \u001b[4mlogDir\u001b[0m and \u001b[4mdrawMethod\u001b[0m are not None."
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "drawMethod",
|
|
137
|
+
"type": "s",
|
|
138
|
+
"short": "-dm",
|
|
139
|
+
"long": "--draw-method",
|
|
140
|
+
"default": null,
|
|
141
|
+
"domain": "(boxplot, violinplot, parallelcoord, parallelcat, sunburst, pairplot, histplot, jointplot, heatmap)",
|
|
142
|
+
"section": "Plot options",
|
|
143
|
+
"critical": 0,
|
|
144
|
+
"description": "The type of plot for the crace results.",
|
|
145
|
+
"vignettes": "The type of plot for the \u001b[1mCrace\u001b[0m results. If this option is not null, \u001b[4mlogDir\u001b[0m must to be provided. When one method is selected, the correspoding option must be True. "
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"name": "dataType",
|
|
149
|
+
"type": "s",
|
|
150
|
+
"short": "-dt",
|
|
151
|
+
"long": "--data-type",
|
|
152
|
+
"default": null,
|
|
153
|
+
"domain": "(experiments, quality, time, configurations, parameters)",
|
|
154
|
+
"section": "Plot options",
|
|
155
|
+
"critical": 0,
|
|
156
|
+
"description": "The origin of data used for drawing plot(s).",
|
|
157
|
+
"vignettes": "The origin of the data used for drawing plot(s). \u001b[1mperformance\u001b[0m: the performance of configurations from experiment(s), the parameters of configuration(s) from one crace run and the performance of configurations from one crace run."
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "numConfigurations",
|
|
161
|
+
"type": "s",
|
|
162
|
+
"short": "-nc",
|
|
163
|
+
"long": "--num-configurations",
|
|
164
|
+
"default": null,
|
|
165
|
+
"domain": "(all, final, elites, else)",
|
|
166
|
+
"section": "Plot options",
|
|
167
|
+
"critical": 0,
|
|
168
|
+
"description": "The number of configurations used to draw plot.",
|
|
169
|
+
"vignettes": "The number of configurations used to draw plot: \n\telites: all elitist configurations selected in slice. \n\tfinal: the final best configurations returned by crace. \n\tall: all elite configurations selected in slice. "
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"name": "selConfigurations",
|
|
173
|
+
"type": "l",
|
|
174
|
+
"short": "-sc",
|
|
175
|
+
"long": "--select-configurations",
|
|
176
|
+
"default": null,
|
|
177
|
+
"domain": null,
|
|
178
|
+
"section": "Plot options",
|
|
179
|
+
"critical": 0,
|
|
180
|
+
"description": "The seleceted configurations used to draw plot.",
|
|
181
|
+
"vignettes": "The selected of configurations used to draw plot, which is avaliable only when \u001b[1melse\u001b[0m is selected for \u001b[4mnumConfigurations\u001b[0m."
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "slice",
|
|
185
|
+
"type": "u",
|
|
186
|
+
"short": "-sl",
|
|
187
|
+
"long": "--slice",
|
|
188
|
+
"default": null,
|
|
189
|
+
"domain": "Union[Literal['budget','b','experiment','e','exp','time','t','T'], bool, None]",
|
|
190
|
+
"section": "Plot options",
|
|
191
|
+
"critical": 0,
|
|
192
|
+
"description": "Split slice based on the default or budgets.",
|
|
193
|
+
"vignettes": "Split \u001b[1mslice\u001b[0m based on the default that is related to model updating, or budget that could be the number of executions or runtime. \nBy default, it's None, which means not to split the information when plotting."
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"name": "split",
|
|
197
|
+
"type": "u",
|
|
198
|
+
"short": "-sp",
|
|
199
|
+
"long": "--split",
|
|
200
|
+
"default": null,
|
|
201
|
+
"domain": "Union[list[int], list[float], None]",
|
|
202
|
+
"section": "Plot options",
|
|
203
|
+
"critical": 0,
|
|
204
|
+
"description": "Addtional option for \u001b[1mslice\u001b[0m.",
|
|
205
|
+
"vignettes": "Addtional option used for \u001b[1mslice\u001b[0m. Use a list of integer values to select specific slices splited based on model updating, which is the default split method in crace, and a list of numbers to select specific slices splited based on budget. For the latter case, this list is used to partition the budget on a logarithmic scale."
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"name": "source",
|
|
209
|
+
"type": "s",
|
|
210
|
+
"short": "-so",
|
|
211
|
+
"long": "--source",
|
|
212
|
+
"default": null,
|
|
213
|
+
"domain": "(test, training)",
|
|
214
|
+
"section": "Plot options",
|
|
215
|
+
"critical": 0,
|
|
216
|
+
"description": "The type of results from provided Crace, training or testing.",
|
|
217
|
+
"vignettes": "The type of configurations from provided Crace results. \\begin{itemize}\\item[] \u001b[1mtest\u001b[0m: select configurations in the test part.\\item[] \u001b[1mtraining\u001b[0m: select configurations in the training part.\\end{itemize}"
|
|
218
|
+
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"name": "keyParameter",
|
|
222
|
+
"type": "s",
|
|
223
|
+
"short": "-kp",
|
|
224
|
+
"long": "--key-parameter",
|
|
225
|
+
"default": null,
|
|
226
|
+
"section": "Plot options",
|
|
227
|
+
"critical": 0,
|
|
228
|
+
"description": "This parameter is selected to be the key variable when drawing parallelcoord, pairplot.",
|
|
229
|
+
"vignettes": "This parameter is selected to be the key variable shown in plot \u001b[1mparallelcoord\u001b[0m or \u001b[1mpairplot\u001b[0m. For example: if one parameter is provided as the key variable for \u001b[1mparallelplot\u001b[0m, the plot will be grouped by this parameter."
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"name": "multiParameters",
|
|
233
|
+
"type": "l",
|
|
234
|
+
"short": "-mp",
|
|
235
|
+
"long": "--multi-parameters",
|
|
236
|
+
"domain":null,
|
|
237
|
+
"default": null,
|
|
238
|
+
"section": "Plot options",
|
|
239
|
+
"critical": 0,
|
|
240
|
+
"description": "Multiple parameters provided to draw plot like scatter matrix.",
|
|
241
|
+
"vignettes": "Multiple parameters provided to draw plot like scatter matrix for the provided Crace results."
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"name": "dpi",
|
|
245
|
+
"type": "i",
|
|
246
|
+
"short": "-dpi",
|
|
247
|
+
"long": "--dpi",
|
|
248
|
+
"default": 800,
|
|
249
|
+
"domain": "(50,2000)",
|
|
250
|
+
"section": "Plot options",
|
|
251
|
+
"critical": 1,
|
|
252
|
+
"description": "The parameter dpi used for saving plot.",
|
|
253
|
+
"vignettes": "When method used to draw a plot will export a plot file, this parameter will be added to control the dpi quality of the exported plot."
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"name": "showfliers",
|
|
257
|
+
"type": "b",
|
|
258
|
+
"short": "-sf",
|
|
259
|
+
"long": "--showfliers",
|
|
260
|
+
"default": 0,
|
|
261
|
+
"critical": 1,
|
|
262
|
+
"section": "Plot options",
|
|
263
|
+
"description": "The parameter showfliers used for saving plot.",
|
|
264
|
+
"vignettes": "Enable\/disable showfliers when drawing the plot."
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"name": "showmeans",
|
|
268
|
+
"type": "b",
|
|
269
|
+
"short": "-sm",
|
|
270
|
+
"long": "--showmeans",
|
|
271
|
+
"default": 0,
|
|
272
|
+
"section": "Plot options",
|
|
273
|
+
"critical": 1,
|
|
274
|
+
"description": "The parameter showmeans used for saving plot.",
|
|
275
|
+
"vignettes": "Enable\/disable showmeans when drawing the plot."
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"name": "showscale",
|
|
279
|
+
"type": "b",
|
|
280
|
+
"short": "-ss",
|
|
281
|
+
"long": "--showscale",
|
|
282
|
+
"default": 0,
|
|
283
|
+
"section": "Plot options",
|
|
284
|
+
"critical": 1,
|
|
285
|
+
"description": "The parameter showscale used for saving plot.",
|
|
286
|
+
"vignettes": "Enable\/disable showscale when drawing the plot especially for \u001b[1mparallelcoord\u001b[0m."
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"name": "statisticalTest",
|
|
290
|
+
"type": "b",
|
|
291
|
+
"short": "-st",
|
|
292
|
+
"long": "--stest",
|
|
293
|
+
"default": 0,
|
|
294
|
+
"section": "Plot options",
|
|
295
|
+
"critical": 0,
|
|
296
|
+
"description": "Add p-values for plots or not.",
|
|
297
|
+
"vignettes": "Enable\/disable add p-values when drawing the plot."
|
|
298
|
+
}
|
|
299
|
+
]
|