InteractiveBORobot/InteractiveBO/src/store/ControlStore.js
2023-09-10 20:24:51 +02:00

82 lines
2.0 KiB
JavaScript

import { defineStore } from "pinia";
export const useCStore = defineStore("Control Store", {
state: () => {
return {
env: "Reacher",
envs: ["Reacher", "Finger"],
env_dim: {
Reacher: 2,
Finger: 2,
},
metric: "random",
metrics: ["random", "regular", "improvement", "max_acquisition"],
metrics_label: {
random: "Probability",
regular: "Repetition",
improvement: "Improvement Threshold",
max_acquisition: "Threshold",
},
metric_limits: {
random: [0.0, 1.0, 0.01],
regular: [1, 100, 1],
improvement: [0.0, 1.0, 0.01],
max_acquisition: [1, 200, 1],
},
acq_fun: "Expected Improvement",
acq_funs: [
"Expected Improvement",
"Probability of Improvement",
"Upper Confidence Bound",
"Preference Expected Improvement",
],
nr_episodes: 50,
nr_runs: 10,
metric_parameter: 0.5,
improvement_2: 5,
sendWeights: false,
runner: false,
fixed_seed: true,
save_result: true,
overwrite: false,
};
},
getters: {
getEnv: (state) => state.env,
getEnvdims: (state) => state.env_dims,
getMetric: (state) => state.metric,
getNrEpisodes: (state) => state.nr_episodes,
getNrRuns: (state) => state.nr_runs,
getMetricParameter: (state) => state.metric_parameter,
getSendWeights: (state) => state.sendWeights,
getRunner: (state) => state.runner,
getAcq: (state) => state.acq_fun,
},
actions: {
setEnv(value) {
this.env = value;
},
setMetric(value) {
this.metric = value;
},
setNrEpisodes(value) {
this.nr_episodes = value;
},
setNrRuns(value) {
this.nr_runs = value;
},
setMetricParameter(value) {
this.metric_parameter = value;
},
setSendWeights() {
this.sendWeights = !this.sendWeights;
},
setRunner() {
this.runner = !this.runner;
},
setAcq(value) {
this.acq_fun = value;
},
},
});