pyRDDLGym-jax 0.1__py3-none-any.whl → 0.2__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.
Files changed (35) hide show
  1. pyRDDLGym_jax/core/compiler.py +445 -221
  2. pyRDDLGym_jax/core/logic.py +129 -62
  3. pyRDDLGym_jax/core/planner.py +699 -332
  4. pyRDDLGym_jax/core/simulator.py +5 -7
  5. pyRDDLGym_jax/core/tuning.py +23 -12
  6. pyRDDLGym_jax/examples/configs/{Cartpole_Continuous_drp.cfg → Cartpole_Continuous_gym_drp.cfg} +2 -3
  7. pyRDDLGym_jax/examples/configs/{HVAC_drp.cfg → HVAC_ippc2023_drp.cfg} +2 -2
  8. pyRDDLGym_jax/examples/configs/MountainCar_ippc2023_slp.cfg +19 -0
  9. pyRDDLGym_jax/examples/configs/Quadcopter_drp.cfg +18 -0
  10. pyRDDLGym_jax/examples/configs/Reservoir_Continuous_drp.cfg +18 -0
  11. pyRDDLGym_jax/examples/configs/Reservoir_Continuous_slp.cfg +1 -1
  12. pyRDDLGym_jax/examples/configs/UAV_Continuous_slp.cfg +1 -1
  13. pyRDDLGym_jax/examples/configs/default_drp.cfg +19 -0
  14. pyRDDLGym_jax/examples/configs/default_replan.cfg +20 -0
  15. pyRDDLGym_jax/examples/configs/default_slp.cfg +19 -0
  16. pyRDDLGym_jax/examples/run_gradient.py +1 -1
  17. pyRDDLGym_jax/examples/run_gym.py +1 -2
  18. pyRDDLGym_jax/examples/run_plan.py +7 -0
  19. pyRDDLGym_jax/examples/run_tune.py +6 -0
  20. {pyRDDLGym_jax-0.1.dist-info → pyRDDLGym_jax-0.2.dist-info}/METADATA +1 -1
  21. pyRDDLGym_jax-0.2.dist-info/RECORD +46 -0
  22. {pyRDDLGym_jax-0.1.dist-info → pyRDDLGym_jax-0.2.dist-info}/WHEEL +1 -1
  23. pyRDDLGym_jax-0.1.dist-info/RECORD +0 -40
  24. /pyRDDLGym_jax/examples/configs/{Cartpole_Continuous_replan.cfg → Cartpole_Continuous_gym_replan.cfg} +0 -0
  25. /pyRDDLGym_jax/examples/configs/{Cartpole_Continuous_slp.cfg → Cartpole_Continuous_gym_slp.cfg} +0 -0
  26. /pyRDDLGym_jax/examples/configs/{HVAC_slp.cfg → HVAC_ippc2023_slp.cfg} +0 -0
  27. /pyRDDLGym_jax/examples/configs/{MarsRover_drp.cfg → MarsRover_ippc2023_drp.cfg} +0 -0
  28. /pyRDDLGym_jax/examples/configs/{MarsRover_slp.cfg → MarsRover_ippc2023_slp.cfg} +0 -0
  29. /pyRDDLGym_jax/examples/configs/{MountainCar_slp.cfg → MountainCar_Continuous_gym_slp.cfg} +0 -0
  30. /pyRDDLGym_jax/examples/configs/{Pendulum_slp.cfg → Pendulum_gym_slp.cfg} +0 -0
  31. /pyRDDLGym_jax/examples/configs/{PowerGen_drp.cfg → PowerGen_Continuous_drp.cfg} +0 -0
  32. /pyRDDLGym_jax/examples/configs/{PowerGen_replan.cfg → PowerGen_Continuous_replan.cfg} +0 -0
  33. /pyRDDLGym_jax/examples/configs/{PowerGen_slp.cfg → PowerGen_Continuous_slp.cfg} +0 -0
  34. {pyRDDLGym_jax-0.1.dist-info → pyRDDLGym_jax-0.2.dist-info}/LICENSE +0 -0
  35. {pyRDDLGym_jax-0.1.dist-info → pyRDDLGym_jax-0.2.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  import jax
2
2
  import time
3
- from typing import Dict
3
+ from typing import Dict, Optional
4
4
 
5
5
  from pyRDDLGym.core.compiler.model import RDDLLiftedModel
6
6
  from pyRDDLGym.core.debug.exception import (
@@ -20,9 +20,9 @@ Args = Dict[str, Value]
20
20
  class JaxRDDLSimulator(RDDLSimulator):
21
21
 
22
22
  def __init__(self, rddl: RDDLLiftedModel,
23
- key: jax.random.PRNGKey=None,
23
+ key: Optional[jax.random.PRNGKey]=None,
24
24
  raise_error: bool=True,
25
- logger: Logger=None,
25
+ logger: Optional[Logger]=None,
26
26
  keep_tensors: bool=False,
27
27
  **compiler_args) -> None:
28
28
  '''Creates a new simulator for the given RDDL model with Jax as a backend.
@@ -56,10 +56,8 @@ class JaxRDDLSimulator(RDDLSimulator):
56
56
  rddl = self.rddl
57
57
 
58
58
  # compilation
59
- if self.logger is not None:
60
- self.logger.clear()
61
59
  compiled = JaxRDDLCompiler(rddl, logger=self.logger, **self.compiler_args)
62
- compiled.compile(log_jax_expr=True)
60
+ compiled.compile(log_jax_expr=True, heading='SIMULATION MODEL')
63
61
 
64
62
  self.init_values = compiled.init_values
65
63
  self.levels = compiled.levels
@@ -96,7 +94,7 @@ class JaxRDDLSimulator(RDDLSimulator):
96
94
  self.precond_names = [f'Precondition {i}' for i in range(len(rddl.preconditions))]
97
95
  self.terminal_names = [f'Termination {i}' for i in range(len(rddl.terminations))]
98
96
 
99
- def handle_error_code(self, error, msg) -> None:
97
+ def handle_error_code(self, error: int, msg: str) -> None:
100
98
  if self.raise_error:
101
99
  errors = JaxRDDLCompiler.get_error_messages(error)
102
100
  if errors:
@@ -8,7 +8,9 @@ from multiprocessing import get_context
8
8
  import numpy as np
9
9
  import os
10
10
  import time
11
- from typing import Callable, Dict, Tuple
11
+ from typing import Any, Callable, Dict, Optional, Tuple
12
+
13
+ Kwargs = Dict[str, Any]
12
14
 
13
15
  import warnings
14
16
  warnings.filterwarnings("ignore")
@@ -45,15 +47,15 @@ class JaxParameterTuning:
45
47
  timeout_tuning: float=np.inf,
46
48
  eval_trials: int=5,
47
49
  verbose: bool=True,
48
- planner_kwargs: Dict={},
49
- plan_kwargs: Dict={},
50
+ planner_kwargs: Optional[Kwargs]=None,
51
+ plan_kwargs: Optional[Kwargs]=None,
50
52
  pool_context: str='spawn',
51
53
  num_workers: int=1,
52
54
  poll_frequency: float=0.2,
53
55
  gp_iters: int=25,
54
- acquisition=None,
55
- gp_init_kwargs: Dict={},
56
- gp_params: Dict={'n_restarts_optimizer': 10}) -> None:
56
+ acquisition: Optional[UtilityFunction]=None,
57
+ gp_init_kwargs: Optional[Kwargs]=None,
58
+ gp_params: Optional[Kwargs]=None) -> None:
57
59
  '''Creates a new instance for tuning hyper-parameters for Jax planners
58
60
  on the given RDDL domain and instance.
59
61
 
@@ -93,13 +95,21 @@ class JaxParameterTuning:
93
95
  self.timeout_tuning = timeout_tuning
94
96
  self.eval_trials = eval_trials
95
97
  self.verbose = verbose
98
+ if planner_kwargs is None:
99
+ planner_kwargs = {}
96
100
  self.planner_kwargs = planner_kwargs
101
+ if plan_kwargs is None:
102
+ plan_kwargs = {}
97
103
  self.plan_kwargs = plan_kwargs
98
104
  self.pool_context = pool_context
99
105
  self.num_workers = num_workers
100
106
  self.poll_frequency = poll_frequency
101
107
  self.gp_iters = gp_iters
108
+ if gp_init_kwargs is None:
109
+ gp_init_kwargs = {}
102
110
  self.gp_init_kwargs = gp_init_kwargs
111
+ if gp_params is None:
112
+ gp_params = {'n_restarts_optimizer': 10}
103
113
  self.gp_params = gp_params
104
114
 
105
115
  # create acquisition function
@@ -109,7 +119,7 @@ class JaxParameterTuning:
109
119
  acquisition, self.acq_args = JaxParameterTuning._annealing_utility(num_samples)
110
120
  self.acquisition = acquisition
111
121
 
112
- def summarize_hyperparameters(self):
122
+ def summarize_hyperparameters(self) -> None:
113
123
  print(f'hyperparameter optimizer parameters:\n'
114
124
  f' tuned_hyper_parameters ={self.hyperparams_dict}\n'
115
125
  f' initialization_args ={self.gp_init_kwargs}\n'
@@ -150,8 +160,9 @@ class JaxParameterTuning:
150
160
  pid = os.getpid()
151
161
  return index, pid, params, target
152
162
 
153
- def tune(self, key: jax.random.PRNGKey, filename: str,
154
- save_plot: bool=False) -> Dict[str, object]:
163
+ def tune(self, key: jax.random.PRNGKey,
164
+ filename: str,
165
+ save_plot: bool=False) -> Dict[str, Any]:
155
166
  '''Tunes the hyper-parameters for Jax planner, returns the best found.'''
156
167
  self.summarize_hyperparameters()
157
168
 
@@ -364,7 +375,7 @@ def objective_slp(params, kwargs, key, index):
364
375
  env = RDDLEnv(domain=kwargs['domain'],
365
376
  instance=kwargs['instance'],
366
377
  vectorized=True,
367
- enforce_action_constraints=True)
378
+ enforce_action_constraints=False)
368
379
 
369
380
  # perform training
370
381
  average_reward = 0.0
@@ -495,7 +506,7 @@ def objective_replan(params, kwargs, key, index):
495
506
  env = RDDLEnv(domain=kwargs['domain'],
496
507
  instance=kwargs['instance'],
497
508
  vectorized=True,
498
- enforce_action_constraints=True)
509
+ enforce_action_constraints=False)
499
510
 
500
511
  # perform training
501
512
  average_reward = 0.0
@@ -622,7 +633,7 @@ def objective_drp(params, kwargs, key, index):
622
633
  env = RDDLEnv(domain=kwargs['domain'],
623
634
  instance=kwargs['instance'],
624
635
  vectorized=True,
625
- enforce_action_constraints=True)
636
+ enforce_action_constraints=False)
626
637
 
627
638
  # perform training
628
639
  average_reward = 0.0
@@ -8,12 +8,11 @@ tnorm_kwargs={}
8
8
  method='JaxDeepReactivePolicy'
9
9
  method_kwargs={'topology': [32, 32]}
10
10
  optimizer='rmsprop'
11
- optimizer_kwargs={'learning_rate': 0.001}
11
+ optimizer_kwargs={'learning_rate': 0.005}
12
12
  batch_size_train=1
13
13
  batch_size_test=1
14
- clip_grad=1.0
15
14
 
16
15
  [Training]
17
16
  key=42
18
- epochs=5000
17
+ epochs=2000
19
18
  train_seconds=30
@@ -8,11 +8,11 @@ tnorm_kwargs={}
8
8
  method='JaxDeepReactivePolicy'
9
9
  method_kwargs={'topology': [128, 128]}
10
10
  optimizer='rmsprop'
11
- optimizer_kwargs={'learning_rate': 0.0003}
11
+ optimizer_kwargs={'learning_rate': 0.001}
12
12
  batch_size_train=1
13
13
  batch_size_test=1
14
14
 
15
15
  [Training]
16
16
  key=42
17
- epochs=2000
17
+ epochs=3000
18
18
  train_seconds=30
@@ -0,0 +1,19 @@
1
+ [Model]
2
+ logic='FuzzyLogic'
3
+ logic_kwargs={'weight': 10}
4
+ tnorm='ProductTNorm'
5
+ tnorm_kwargs={}
6
+
7
+ [Optimizer]
8
+ method='JaxStraightLinePlan'
9
+ method_kwargs={}
10
+ optimizer='rmsprop'
11
+ optimizer_kwargs={'learning_rate': 1.0}
12
+ batch_size_train=1
13
+ batch_size_test=1
14
+ clip_grad=1.0
15
+
16
+ [Training]
17
+ key=42
18
+ epochs=1000
19
+ train_seconds=30
@@ -0,0 +1,18 @@
1
+ [Model]
2
+ logic='FuzzyLogic'
3
+ logic_kwargs={'weight': 100}
4
+ tnorm='ProductTNorm'
5
+ tnorm_kwargs={}
6
+
7
+ [Optimizer]
8
+ method='JaxDeepReactivePolicy'
9
+ method_kwargs={'topology': [256, 128], 'activation': 'tanh'}
10
+ optimizer='rmsprop'
11
+ optimizer_kwargs={'learning_rate': 0.001}
12
+ batch_size_train=1
13
+ batch_size_test=1
14
+
15
+ [Training]
16
+ key=42
17
+ epochs=100000
18
+ train_seconds=360
@@ -0,0 +1,18 @@
1
+ [Model]
2
+ logic='FuzzyLogic'
3
+ logic_kwargs={'weight': 10}
4
+ tnorm='ProductTNorm'
5
+ tnorm_kwargs={}
6
+
7
+ [Optimizer]
8
+ method='JaxDeepReactivePolicy'
9
+ method_kwargs={'topology': [64, 32]}
10
+ optimizer='rmsprop'
11
+ optimizer_kwargs={'learning_rate': 0.0002}
12
+ batch_size_train=32
13
+ batch_size_test=32
14
+
15
+ [Training]
16
+ key=42
17
+ epochs=5000
18
+ train_seconds=60
@@ -15,4 +15,4 @@ batch_size_test=32
15
15
  [Training]
16
16
  key=42
17
17
  epochs=5000
18
- train_seconds=30
18
+ train_seconds=60
@@ -7,7 +7,7 @@ tnorm_kwargs={}
7
7
  [Optimizer]
8
8
  method='JaxStraightLinePlan'
9
9
  method_kwargs={}
10
- optimizer='adam'
10
+ optimizer='rmsprop'
11
11
  optimizer_kwargs={'learning_rate': 0.0005}
12
12
  batch_size_train=1
13
13
  batch_size_test=1
@@ -0,0 +1,19 @@
1
+ [Model]
2
+ logic='FuzzyLogic'
3
+ logic_kwargs={'weight': 20}
4
+ tnorm='ProductTNorm'
5
+ tnorm_kwargs={}
6
+
7
+ [Optimizer]
8
+ method='JaxDeepReactivePolicy'
9
+ method_kwargs={}
10
+ optimizer='rmsprop'
11
+ optimizer_kwargs={'learning_rate': 0.0001}
12
+ batch_size_train=32
13
+ batch_size_test=32
14
+
15
+ [Training]
16
+ key=42
17
+ epochs=30000
18
+ train_seconds=90
19
+ policy_hyperparams=2.0
@@ -0,0 +1,20 @@
1
+ [Model]
2
+ logic='FuzzyLogic'
3
+ logic_kwargs={'weight': 20}
4
+ tnorm='ProductTNorm'
5
+ tnorm_kwargs={}
6
+
7
+ [Optimizer]
8
+ method='JaxStraightLinePlan'
9
+ method_kwargs={}
10
+ optimizer='rmsprop'
11
+ optimizer_kwargs={'learning_rate': 0.01}
12
+ batch_size_train=32
13
+ batch_size_test=32
14
+ rollout_horizon=5
15
+
16
+ [Training]
17
+ key=42
18
+ epochs=2000
19
+ train_seconds=1
20
+ policy_hyperparams=2.0
@@ -0,0 +1,19 @@
1
+ [Model]
2
+ logic='FuzzyLogic'
3
+ logic_kwargs={'weight': 20}
4
+ tnorm='ProductTNorm'
5
+ tnorm_kwargs={}
6
+
7
+ [Optimizer]
8
+ method='JaxStraightLinePlan'
9
+ method_kwargs={}
10
+ optimizer='rmsprop'
11
+ optimizer_kwargs={'learning_rate': 0.01}
12
+ batch_size_train=32
13
+ batch_size_test=32
14
+
15
+ [Training]
16
+ key=42
17
+ epochs=30000
18
+ train_seconds=90
19
+ policy_hyperparams=2.0
@@ -91,7 +91,7 @@ def main():
91
91
  my_args = [jax.random.PRNGKey(42), params, None, subs, compiler.model_params]
92
92
 
93
93
  # print the fluents over the trajectory, return and gradient
94
- print(step_fn(*my_args)['pvar'])
94
+ print(step_fn(*my_args)['fluents'])
95
95
  print(sum_of_rewards(*my_args))
96
96
  print(jax.grad(sum_of_rewards, argnums=1)(*my_args))
97
97
 
@@ -25,13 +25,12 @@ def main(domain, instance, episodes=1, seed=42):
25
25
  # create the environment
26
26
  env = pyRDDLGym.make(domain, instance, enforce_action_constraints=True,
27
27
  backend=JaxRDDLSimulator)
28
- env.seed(seed)
29
28
 
30
29
  # set up a random policy
31
30
  agent = RandomAgent(action_space=env.action_space,
32
31
  num_actions=env.max_allowed_actions,
33
32
  seed=seed)
34
- agent.evaluate(env, episodes=episodes, verbose=True, render=True)
33
+ agent.evaluate(env, episodes=episodes, verbose=True, render=True, seed=seed)
35
34
 
36
35
  # important when logging to save all traces
37
36
  env.close()
@@ -18,6 +18,8 @@ import os
18
18
  import sys
19
19
 
20
20
  import pyRDDLGym
21
+ from pyRDDLGym.core.debug.exception import raise_warning
22
+
21
23
  from pyRDDLGym_jax.core.planner import (
22
24
  load_config, JaxBackpropPlanner, JaxOfflineController, JaxOnlineController
23
25
  )
@@ -31,6 +33,11 @@ def main(domain, instance, method, episodes=1):
31
33
  # load the config file with planner settings
32
34
  abs_path = os.path.dirname(os.path.abspath(__file__))
33
35
  config_path = os.path.join(abs_path, 'configs', f'{domain}_{method}.cfg')
36
+ if not os.path.isfile(config_path):
37
+ raise_warning(f'Config file {domain}_{method}.cfg was not found, '
38
+ f'using default config (parameters could be suboptimal).',
39
+ 'red')
40
+ config_path = os.path.join(abs_path, 'configs', f'default_{method}.cfg')
34
41
  planner_args, _, train_args = load_config(config_path)
35
42
 
36
43
  # create the planning algorithm
@@ -20,6 +20,7 @@ import os
20
20
  import sys
21
21
 
22
22
  import pyRDDLGym
23
+ from pyRDDLGym.core.debug.exception import raise_warning
23
24
 
24
25
  from pyRDDLGym_jax.core.tuning import (
25
26
  JaxParameterTuningDRP, JaxParameterTuningSLP, JaxParameterTuningSLPReplan
@@ -35,6 +36,11 @@ def main(domain, instance, method, trials=5, iters=20, workers=4):
35
36
  # load the config file with planner settings
36
37
  abs_path = os.path.dirname(os.path.abspath(__file__))
37
38
  config_path = os.path.join(abs_path, 'configs', f'{domain}_{method}.cfg')
39
+ if not os.path.isfile(config_path):
40
+ raise_warning(f'Config file {domain}_{method}.cfg was not found, '
41
+ f'using default config (parameters could be suboptimal).',
42
+ 'red')
43
+ config_path = os.path.join(abs_path, 'configs', f'default_{method}.cfg')
38
44
  planner_args, plan_args, train_args = load_config(config_path)
39
45
 
40
46
  # define algorithm to perform tuning
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyRDDLGym-jax
3
- Version: 0.1
3
+ Version: 0.2
4
4
  Summary: pyRDDLGym-jax: JAX compilation of RDDL description files, and a differentiable planner in JAX.
5
5
  Home-page: https://github.com/pyrddlgym-project/pyRDDLGym-jax
6
6
  Author: Michael Gimelfarb, Ayal Taitler, Scott Sanner
@@ -0,0 +1,46 @@
1
+ pyRDDLGym_jax/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ pyRDDLGym_jax/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ pyRDDLGym_jax/core/compiler.py,sha256=K1p99rKdx2PMdsN1jq6ZEtSANUWACWmOzJrGirj5wq8,89176
4
+ pyRDDLGym_jax/core/logic.py,sha256=zujSHiR5KhTO81E5Zn8Gy_xSzVzfDskFCGvZygFRdMI,21930
5
+ pyRDDLGym_jax/core/planner.py,sha256=vEc-Um_3q1QGhlqk-6oq0eGW7iFAbu-6kpSnyKYS9tI,91731
6
+ pyRDDLGym_jax/core/simulator.py,sha256=fp6bep3XwwBWED0w7_4qhiwDjkSka6B2prwdNcPRCMc,8329
7
+ pyRDDLGym_jax/core/tuning.py,sha256=uhpL3UCfSIgxDEvKI8PibwgTafCMLR_8LrRj5cBKLWE,29466
8
+ pyRDDLGym_jax/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ pyRDDLGym_jax/examples/run_gradient.py,sha256=KhXvijRDZ4V7N8NOI2WV8ePGpPna5_vnET61YwS7Tco,2919
10
+ pyRDDLGym_jax/examples/run_gym.py,sha256=tY6xvLCX9gLCYLK2o0gr44j26SHEwOrhyEQF0wNNIWY,1639
11
+ pyRDDLGym_jax/examples/run_plan.py,sha256=Z40aoikg_mN3rXPl-EGU-BQ9QdHl96P1Qvp4GNZeo5c,2499
12
+ pyRDDLGym_jax/examples/run_tune.py,sha256=N3mMCiRsxWtb94xfk6-v2nelkL5VekneeDmaLxPJND4,3318
13
+ pyRDDLGym_jax/examples/configs/Cartpole_Continuous_gym_drp.cfg,sha256=pbkz6ccgk5dHXp7cfYbZNFyJobpGyxUZleCy4fvlmaU,336
14
+ pyRDDLGym_jax/examples/configs/Cartpole_Continuous_gym_replan.cfg,sha256=OswO9YD4Xh1pw3R3LkUBb67WLtj5XlE3qnMQ5CKwPsM,332
15
+ pyRDDLGym_jax/examples/configs/Cartpole_Continuous_gym_slp.cfg,sha256=FxZ4xcg2j2PzeH-wUseRR280juQN5bJjoyt6PtI1W7c,329
16
+ pyRDDLGym_jax/examples/configs/HVAC_ippc2023_drp.cfg,sha256=FZSZc93617oglT66U80vF2QAPv18tHR1NqTbVJRjlfs,338
17
+ pyRDDLGym_jax/examples/configs/HVAC_ippc2023_slp.cfg,sha256=wjtz86_Gz0RfQu3bbrz56PTXL8JMernINx7AtJuZCPs,314
18
+ pyRDDLGym_jax/examples/configs/MarsRover_ippc2023_drp.cfg,sha256=MGLcEIixCzdR_UHR4Ydr8hjB1-lff7U2Zj_cZ0iuPqo,335
19
+ pyRDDLGym_jax/examples/configs/MarsRover_ippc2023_slp.cfg,sha256=Yb4tFzUOj4epCCsofXAZo70lm5C2KzPIzI5PQHsa_Vk,429
20
+ pyRDDLGym_jax/examples/configs/MountainCar_Continuous_gym_slp.cfg,sha256=e7j-1Z66o7F-KZDSf2e8TQRWwkXOPRwrRFkIavK8G7g,327
21
+ pyRDDLGym_jax/examples/configs/MountainCar_ippc2023_slp.cfg,sha256=Z6CxaOxHv4oF6nW7SfSn_HshlQGDlNCPGASTnDTdL7Q,327
22
+ pyRDDLGym_jax/examples/configs/Pendulum_gym_slp.cfg,sha256=gS66TWLSWL9D2DSRU9XK_5geEz2Nq0aBkoF9Oi2tTkc,315
23
+ pyRDDLGym_jax/examples/configs/Pong_slp.cfg,sha256=S45mBj5hTEshdeJ4rdRaty6YliggtEMkLQV6IYxEkyU,315
24
+ pyRDDLGym_jax/examples/configs/PowerGen_Continuous_drp.cfg,sha256=SM5_U4RwvvucHVAOdMG4vqH0Eg43f3WX9ZlV6aFPgTw,341
25
+ pyRDDLGym_jax/examples/configs/PowerGen_Continuous_replan.cfg,sha256=lcqQ7P7X4qAbMlpkKKuYGn2luSZH-yFB7oi-eHj9Qng,332
26
+ pyRDDLGym_jax/examples/configs/PowerGen_Continuous_slp.cfg,sha256=kG1-02ScmwsEwX7QIAZTD7si90Mb06b79G5oqcMQ9Hg,316
27
+ pyRDDLGym_jax/examples/configs/Quadcopter_drp.cfg,sha256=yGMBWiVZT8KdZ1PhQ4kIxPvnjht1ss0UheTV-Nt9oaA,364
28
+ pyRDDLGym_jax/examples/configs/Quadcopter_slp.cfg,sha256=9QNl58PyoJYhmwvrhzUxlLEy8vGbmwE6lRuOdvhLjGQ,317
29
+ pyRDDLGym_jax/examples/configs/Reservoir_Continuous_drp.cfg,sha256=rrubYvC1q7Ff0ADV0GXtLw-rD9E4m7qfR66qxdYNTD8,339
30
+ pyRDDLGym_jax/examples/configs/Reservoir_Continuous_replan.cfg,sha256=DAb-J2KwvJXViRRSHZe8aJwZiPljC28HtrKJPieeUCY,331
31
+ pyRDDLGym_jax/examples/configs/Reservoir_Continuous_slp.cfg,sha256=QwKzCAFaErrTCHaJwDPLOxPHpNGNuAKMUoZjLLnMrNc,314
32
+ pyRDDLGym_jax/examples/configs/SupplyChain_slp.cfg,sha256=vU_m6KjfNfaPuYosFdAWeYiV1zQGd6eNA17Yn5QB_BI,319
33
+ pyRDDLGym_jax/examples/configs/Traffic_slp.cfg,sha256=03scuHAl6032YhyYy0w5MLMbTibhdbUZFHLhH2WWaPI,370
34
+ pyRDDLGym_jax/examples/configs/UAV_Continuous_slp.cfg,sha256=QiJCJYOrdXXZfOTuPleGswREFxjGlqQSA0rw00YJWWI,318
35
+ pyRDDLGym_jax/examples/configs/Wildfire_MDP_ippc2014_drp.cfg,sha256=PGkgll7h5vhSF13JScKoQ-vpWaAGNJ_PUEhK7jEjNx4,340
36
+ pyRDDLGym_jax/examples/configs/Wildfire_MDP_ippc2014_replan.cfg,sha256=kEDAwsJQ_t9WPzPhIxfS0hRtgOhtFdJFfmPtTTJuwUE,454
37
+ pyRDDLGym_jax/examples/configs/Wildfire_MDP_ippc2014_slp.cfg,sha256=w2wipsA8PE5OBkYVIKajjtCOtiHqmMeY3XQVPAApwFk,371
38
+ pyRDDLGym_jax/examples/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
+ pyRDDLGym_jax/examples/configs/default_drp.cfg,sha256=AtHBy2G9xXTWb6CfDGeKrC2tycwhe2u-JjLnAVLTugQ,344
40
+ pyRDDLGym_jax/examples/configs/default_replan.cfg,sha256=VWWPhOYBRq4cWwtrChw5pPqRmlX_nHbMvwciHd9hoLc,357
41
+ pyRDDLGym_jax/examples/configs/default_slp.cfg,sha256=iicFMK1XJRo1OnLPPY9DKKHgt8T0FttZxRT5UYMJCRE,340
42
+ pyRDDLGym_jax-0.2.dist-info/LICENSE,sha256=Y0Gi6H6mLOKN-oIKGZulQkoTJyPZeAaeuZu7FXH-meg,1095
43
+ pyRDDLGym_jax-0.2.dist-info/METADATA,sha256=sXEBaZx1czXcRRMj0vXyJrtJUJHnkorsWgqrWU9axV0,1085
44
+ pyRDDLGym_jax-0.2.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
45
+ pyRDDLGym_jax-0.2.dist-info/top_level.txt,sha256=n_oWkP_BoZK0VofvPKKmBZ3NPk86WFNvLhi1BktCbVQ,14
46
+ pyRDDLGym_jax-0.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: setuptools (70.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,40 +0,0 @@
1
- pyRDDLGym_jax/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- pyRDDLGym_jax/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- pyRDDLGym_jax/core/compiler.py,sha256=gN1WKgFUc8NzMH685ykbDMEM9gwdYtGnaNfEKHkEoCQ,78496
4
- pyRDDLGym_jax/core/logic.py,sha256=pxq28iuohphDlsDiE5ZuwNpjXOW7vrUdyjwQq9Xd3zM,19431
5
- pyRDDLGym_jax/core/planner.py,sha256=j4kKa23dj4dm-zhlbZ67-_Kqpj1sTlkhElnVc5EEV5I,75387
6
- pyRDDLGym_jax/core/simulator.py,sha256=xYu_WbQTaDI0NGnma0Q1W6CurFAQFR0FMmw2XfouTg4,8331
7
- pyRDDLGym_jax/core/tuning.py,sha256=W-lEnpm4zDHy0DyHwrPbeI4L-ZIisS9j_RXnwqnumXQ,29058
8
- pyRDDLGym_jax/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- pyRDDLGym_jax/examples/run_gradient.py,sha256=YKcDIVaC9DUy86QDizen9DDpSrw2pREo3BY3WWybgb8,2916
10
- pyRDDLGym_jax/examples/run_gym.py,sha256=IrFblP7q-xywcenbtDhuBNuCMxSYVjTQ7VOOft0nPr8,1648
11
- pyRDDLGym_jax/examples/run_plan.py,sha256=gzr1uZif0hbHd7zLxH3TZkk0ajEUuejTVRVOB3CXIgA,2126
12
- pyRDDLGym_jax/examples/run_tune.py,sha256=vm6PHnCRgfPRdbfSI-IzL_APkA9Cx8s0lGvAZaVxpy4,2947
13
- pyRDDLGym_jax/examples/configs/Cartpole_Continuous_drp.cfg,sha256=fSdRmJfMyGiONlcMHBV9dg0iGWuHq9P3F6Bg-O-On08,351
14
- pyRDDLGym_jax/examples/configs/Cartpole_Continuous_replan.cfg,sha256=OswO9YD4Xh1pw3R3LkUBb67WLtj5XlE3qnMQ5CKwPsM,332
15
- pyRDDLGym_jax/examples/configs/Cartpole_Continuous_slp.cfg,sha256=FxZ4xcg2j2PzeH-wUseRR280juQN5bJjoyt6PtI1W7c,329
16
- pyRDDLGym_jax/examples/configs/HVAC_drp.cfg,sha256=peHBd2AP0GbMwygVDhahuVp11_38PgjMeAwkjJ_sU4k,339
17
- pyRDDLGym_jax/examples/configs/HVAC_slp.cfg,sha256=wjtz86_Gz0RfQu3bbrz56PTXL8JMernINx7AtJuZCPs,314
18
- pyRDDLGym_jax/examples/configs/MarsRover_drp.cfg,sha256=MGLcEIixCzdR_UHR4Ydr8hjB1-lff7U2Zj_cZ0iuPqo,335
19
- pyRDDLGym_jax/examples/configs/MarsRover_slp.cfg,sha256=Yb4tFzUOj4epCCsofXAZo70lm5C2KzPIzI5PQHsa_Vk,429
20
- pyRDDLGym_jax/examples/configs/MountainCar_slp.cfg,sha256=e7j-1Z66o7F-KZDSf2e8TQRWwkXOPRwrRFkIavK8G7g,327
21
- pyRDDLGym_jax/examples/configs/Pendulum_slp.cfg,sha256=gS66TWLSWL9D2DSRU9XK_5geEz2Nq0aBkoF9Oi2tTkc,315
22
- pyRDDLGym_jax/examples/configs/Pong_slp.cfg,sha256=S45mBj5hTEshdeJ4rdRaty6YliggtEMkLQV6IYxEkyU,315
23
- pyRDDLGym_jax/examples/configs/PowerGen_drp.cfg,sha256=SM5_U4RwvvucHVAOdMG4vqH0Eg43f3WX9ZlV6aFPgTw,341
24
- pyRDDLGym_jax/examples/configs/PowerGen_replan.cfg,sha256=lcqQ7P7X4qAbMlpkKKuYGn2luSZH-yFB7oi-eHj9Qng,332
25
- pyRDDLGym_jax/examples/configs/PowerGen_slp.cfg,sha256=kG1-02ScmwsEwX7QIAZTD7si90Mb06b79G5oqcMQ9Hg,316
26
- pyRDDLGym_jax/examples/configs/Quadcopter_slp.cfg,sha256=9QNl58PyoJYhmwvrhzUxlLEy8vGbmwE6lRuOdvhLjGQ,317
27
- pyRDDLGym_jax/examples/configs/Reservoir_Continuous_replan.cfg,sha256=DAb-J2KwvJXViRRSHZe8aJwZiPljC28HtrKJPieeUCY,331
28
- pyRDDLGym_jax/examples/configs/Reservoir_Continuous_slp.cfg,sha256=D0Ly_luPnyOEzONJeUT3SOVWlzCBpJrF-SF4bLPx6KE,314
29
- pyRDDLGym_jax/examples/configs/SupplyChain_slp.cfg,sha256=vU_m6KjfNfaPuYosFdAWeYiV1zQGd6eNA17Yn5QB_BI,319
30
- pyRDDLGym_jax/examples/configs/Traffic_slp.cfg,sha256=03scuHAl6032YhyYy0w5MLMbTibhdbUZFHLhH2WWaPI,370
31
- pyRDDLGym_jax/examples/configs/UAV_Continuous_slp.cfg,sha256=-E8tRxsYl67BoEWv4pxV0meanwHajzeiPnOhTLJOuAM,315
32
- pyRDDLGym_jax/examples/configs/Wildfire_MDP_ippc2014_drp.cfg,sha256=PGkgll7h5vhSF13JScKoQ-vpWaAGNJ_PUEhK7jEjNx4,340
33
- pyRDDLGym_jax/examples/configs/Wildfire_MDP_ippc2014_replan.cfg,sha256=kEDAwsJQ_t9WPzPhIxfS0hRtgOhtFdJFfmPtTTJuwUE,454
34
- pyRDDLGym_jax/examples/configs/Wildfire_MDP_ippc2014_slp.cfg,sha256=w2wipsA8PE5OBkYVIKajjtCOtiHqmMeY3XQVPAApwFk,371
35
- pyRDDLGym_jax/examples/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- pyRDDLGym_jax-0.1.dist-info/LICENSE,sha256=Y0Gi6H6mLOKN-oIKGZulQkoTJyPZeAaeuZu7FXH-meg,1095
37
- pyRDDLGym_jax-0.1.dist-info/METADATA,sha256=YKrnTVgud9MfECSD9Hnpu6k8sW8FfCZUsWPrftF9YEI,1085
38
- pyRDDLGym_jax-0.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
39
- pyRDDLGym_jax-0.1.dist-info/top_level.txt,sha256=n_oWkP_BoZK0VofvPKKmBZ3NPk86WFNvLhi1BktCbVQ,14
40
- pyRDDLGym_jax-0.1.dist-info/RECORD,,