pyRDDLGym-jax 0.2__py3-none-any.whl → 0.3__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.
@@ -368,7 +368,8 @@ def objective_slp(params, kwargs, key, index):
368
368
  train_seconds=kwargs['timeout_training'],
369
369
  model_params=model_params,
370
370
  policy_hyperparams=policy_hparams,
371
- verbose=0,
371
+ print_summary=False,
372
+ print_progress=False,
372
373
  tqdm_position=index)
373
374
 
374
375
  # initialize env for evaluation (need fresh copy to avoid concurrency)
@@ -499,7 +500,8 @@ def objective_replan(params, kwargs, key, index):
499
500
  train_seconds=kwargs['timeout_training'],
500
501
  model_params=model_params,
501
502
  policy_hyperparams=policy_hparams,
502
- verbose=0,
503
+ print_summary=False,
504
+ print_progress=False,
503
505
  tqdm_position=index)
504
506
 
505
507
  # initialize env for evaluation (need fresh copy to avoid concurrency)
@@ -626,7 +628,8 @@ def objective_drp(params, kwargs, key, index):
626
628
  train_seconds=kwargs['timeout_training'],
627
629
  model_params=model_params,
628
630
  policy_hyperparams=policy_hparams,
629
- verbose=0,
631
+ print_summary=False,
632
+ print_progress=False,
630
633
  tqdm_position=index)
631
634
 
632
635
  # initialize env for evaluation (need fresh copy to avoid concurrency)
@@ -6,7 +6,7 @@ tnorm_kwargs={}
6
6
 
7
7
  [Optimizer]
8
8
  method='JaxDeepReactivePolicy'
9
- method_kwargs={'topology': [128, 128]}
9
+ method_kwargs={'topology': [64, 64]}
10
10
  optimizer='rmsprop'
11
11
  optimizer_kwargs={'learning_rate': 0.001}
12
12
  batch_size_train=1
@@ -14,5 +14,5 @@ batch_size_test=1
14
14
 
15
15
  [Training]
16
16
  key=42
17
- epochs=3000
18
- train_seconds=30
17
+ epochs=6000
18
+ train_seconds=60
@@ -11,6 +11,7 @@ optimizer='rmsprop'
11
11
  optimizer_kwargs={'learning_rate': 0.01}
12
12
  batch_size_train=1
13
13
  batch_size_test=1
14
+ action_bounds={'power-x': (-0.09999, 0.09999), 'power-y': (-0.09999, 0.09999)}
14
15
 
15
16
  [Training]
16
17
  key=42
@@ -8,7 +8,7 @@ tnorm_kwargs={}
8
8
  method='JaxStraightLinePlan'
9
9
  method_kwargs={}
10
10
  optimizer='rmsprop'
11
- optimizer_kwargs={'learning_rate': 5.0}
11
+ optimizer_kwargs={'learning_rate': 1.0}
12
12
  batch_size_train=1
13
13
  batch_size_test=1
14
14
 
@@ -15,5 +15,5 @@ batch_size_test=32
15
15
  [Training]
16
16
  key=42
17
17
  epochs=30000
18
- train_seconds=90
18
+ train_seconds=60
19
19
  policy_hyperparams=2.0
@@ -15,5 +15,5 @@ batch_size_test=32
15
15
  [Training]
16
16
  key=42
17
17
  epochs=30000
18
- train_seconds=90
18
+ train_seconds=60
19
19
  policy_hyperparams=2.0
@@ -23,16 +23,13 @@ from pyRDDLGym_jax.core.simulator import JaxRDDLSimulator
23
23
  def main(domain, instance, episodes=1, seed=42):
24
24
 
25
25
  # create the environment
26
- env = pyRDDLGym.make(domain, instance, enforce_action_constraints=True,
27
- backend=JaxRDDLSimulator)
26
+ env = pyRDDLGym.make(domain, instance, backend=JaxRDDLSimulator)
28
27
 
29
- # set up a random policy
28
+ # evaluate a random policy
30
29
  agent = RandomAgent(action_space=env.action_space,
31
30
  num_actions=env.max_allowed_actions,
32
31
  seed=seed)
33
32
  agent.evaluate(env, episodes=episodes, verbose=True, render=True, seed=seed)
34
-
35
- # important when logging to save all traces
36
33
  env.close()
37
34
 
38
35
 
@@ -13,6 +13,7 @@ where:
13
13
  <domain> is the name of a domain located in the /Examples directory
14
14
  <instance> is the instance number
15
15
  <method> is either slp, drp, or replan
16
+ <episodes> is the optional number of evaluation rollouts
16
17
  '''
17
18
  import os
18
19
  import sys
@@ -28,29 +29,26 @@ from pyRDDLGym_jax.core.planner import (
28
29
  def main(domain, instance, method, episodes=1):
29
30
 
30
31
  # set up the environment
31
- env = pyRDDLGym.make(domain, instance, vectorized=True, enforce_action_constraints=True)
32
+ env = pyRDDLGym.make(domain, instance, vectorized=True)
32
33
 
33
34
  # load the config file with planner settings
34
35
  abs_path = os.path.dirname(os.path.abspath(__file__))
35
36
  config_path = os.path.join(abs_path, 'configs', f'{domain}_{method}.cfg')
36
37
  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')
38
+ raise_warning(f'Config file {config_path} was not found, '
39
+ f'using default_{method}.cfg.', 'red')
40
40
  config_path = os.path.join(abs_path, 'configs', f'default_{method}.cfg')
41
41
  planner_args, _, train_args = load_config(config_path)
42
42
 
43
43
  # create the planning algorithm
44
44
  planner = JaxBackpropPlanner(rddl=env.model, **planner_args)
45
45
 
46
- # create the controller
46
+ # evaluate the controller
47
47
  if method == 'replan':
48
48
  controller = JaxOnlineController(planner, **train_args)
49
49
  else:
50
- controller = JaxOfflineController(planner, **train_args)
51
-
50
+ controller = JaxOfflineController(planner, **train_args)
52
51
  controller.evaluate(env, episodes=episodes, verbose=True, render=True)
53
-
54
52
  env.close()
55
53
 
56
54
 
@@ -0,0 +1,61 @@
1
+ '''In this example, the user has the choice to run the Jax planner using an
2
+ optimizer from scipy.minimize.
3
+
4
+ The syntax for running this example is:
5
+
6
+ python run_scipy.py <domain> <instance> <method> [<episodes>]
7
+
8
+ where:
9
+ <domain> is the name of a domain located in the /Examples directory
10
+ <instance> is the instance number
11
+ <method> is the name of a method provided to scipy.optimize.minimize()
12
+ <episodes> is the optional number of evaluation rollouts
13
+ '''
14
+ import os
15
+ import sys
16
+ import jax
17
+ from scipy.optimize import minimize
18
+
19
+ import pyRDDLGym
20
+ from pyRDDLGym.core.debug.exception import raise_warning
21
+
22
+ from pyRDDLGym_jax.core.planner import load_config, JaxBackpropPlanner, JaxOfflineController
23
+
24
+
25
+ def main(domain, instance, method, episodes=1):
26
+
27
+ # set up the environment
28
+ env = pyRDDLGym.make(domain, instance, vectorized=True)
29
+
30
+ # load the config file with planner settings
31
+ abs_path = os.path.dirname(os.path.abspath(__file__))
32
+ config_path = os.path.join(abs_path, 'configs', f'{domain}_slp.cfg')
33
+ if not os.path.isfile(config_path):
34
+ raise_warning(f'Config file {config_path} was not found, '
35
+ f'using default_slp.cfg.', 'red')
36
+ config_path = os.path.join(abs_path, 'configs', 'default_slp.cfg')
37
+ planner_args, _, train_args = load_config(config_path)
38
+
39
+ # create the planning algorithm
40
+ planner = JaxBackpropPlanner(rddl=env.model, **planner_args)
41
+
42
+ # find the optimal plan
43
+ loss_fn, grad_fn, guess, unravel_fn = planner.as_optimization_problem()
44
+ opt = minimize(loss_fn, jac=grad_fn, x0=guess, method=method, options={'disp': True})
45
+ params = unravel_fn(opt.x)
46
+
47
+ # evaluate the optimal plan
48
+ controller = JaxOfflineController(planner, params=params, **train_args)
49
+ controller.evaluate(env, episodes=episodes, verbose=True, render=True)
50
+ env.close()
51
+
52
+
53
+ if __name__ == "__main__":
54
+ args = sys.argv[1:]
55
+ if len(args) < 3:
56
+ print('python run_scipy.py <domain> <instance> <method> [<episodes>]')
57
+ exit(1)
58
+ kwargs = {'domain': args[0], 'instance': args[1], 'method': args[2]}
59
+ if len(args) >= 4: kwargs['episodes'] = int(args[3])
60
+ main(**kwargs)
61
+
@@ -31,15 +31,14 @@ from pyRDDLGym_jax.core.planner import load_config
31
31
  def main(domain, instance, method, trials=5, iters=20, workers=4):
32
32
 
33
33
  # set up the environment
34
- env = pyRDDLGym.make(domain, instance, vectorized=True, enforce_action_constraints=True)
34
+ env = pyRDDLGym.make(domain, instance, vectorized=True)
35
35
 
36
36
  # load the config file with planner settings
37
37
  abs_path = os.path.dirname(os.path.abspath(__file__))
38
38
  config_path = os.path.join(abs_path, 'configs', f'{domain}_{method}.cfg')
39
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')
40
+ raise_warning(f'Config file {config_path} was not found, '
41
+ f'using default_{method}.cfg.', 'red')
43
42
  config_path = os.path.join(abs_path, 'configs', f'default_{method}.cfg')
44
43
  planner_args, plan_args, train_args = load_config(config_path)
45
44
 
@@ -49,8 +48,7 @@ def main(domain, instance, method, trials=5, iters=20, workers=4):
49
48
  elif method == 'drp':
50
49
  tuning_class = JaxParameterTuningDRP
51
50
  elif method == 'replan':
52
- tuning_class = JaxParameterTuningSLPReplan
53
-
51
+ tuning_class = JaxParameterTuningSLPReplan
54
52
  tuning = tuning_class(env=env,
55
53
  train_epochs=train_args['epochs'],
56
54
  timeout_training=train_args['train_seconds'],
@@ -60,6 +58,7 @@ def main(domain, instance, method, trials=5, iters=20, workers=4):
60
58
  num_workers=workers,
61
59
  gp_iters=iters)
62
60
 
61
+ # perform tuning and report best parameters
63
62
  best = tuning.tune(key=train_args['key'], filename=f'gp_{method}',
64
63
  save_plot=True)
65
64
  print(f'best parameters found: {best}')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyRDDLGym-jax
3
- Version: 0.2
3
+ Version: 0.3
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
@@ -1,26 +1,26 @@
1
- pyRDDLGym_jax/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1
+ pyRDDLGym_jax/__init__.py,sha256=Cl7DWkrPP64Ofc2ILXnudFOdnCuKs2p0Pm7ykZOOPh4,19
2
2
  pyRDDLGym_jax/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- pyRDDLGym_jax/core/compiler.py,sha256=K1p99rKdx2PMdsN1jq6ZEtSANUWACWmOzJrGirj5wq8,89176
3
+ pyRDDLGym_jax/core/compiler.py,sha256=m7p0CHOU4Wma0cKMu_WQwfoieIQ2pXD68hZ8BFJ970A,89103
4
4
  pyRDDLGym_jax/core/logic.py,sha256=zujSHiR5KhTO81E5Zn8Gy_xSzVzfDskFCGvZygFRdMI,21930
5
- pyRDDLGym_jax/core/planner.py,sha256=vEc-Um_3q1QGhlqk-6oq0eGW7iFAbu-6kpSnyKYS9tI,91731
5
+ pyRDDLGym_jax/core/planner.py,sha256=1BtU1G3rihRZaMfNu0VtbSl1LXEXu6pT75EkF6-WVnM,101827
6
6
  pyRDDLGym_jax/core/simulator.py,sha256=fp6bep3XwwBWED0w7_4qhiwDjkSka6B2prwdNcPRCMc,8329
7
- pyRDDLGym_jax/core/tuning.py,sha256=uhpL3UCfSIgxDEvKI8PibwgTafCMLR_8LrRj5cBKLWE,29466
7
+ pyRDDLGym_jax/core/tuning.py,sha256=Dv0YyOgGnej-zdVymWdkVg0MZjm2lNRfr7gySzFOeow,29589
8
8
  pyRDDLGym_jax/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
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
10
+ pyRDDLGym_jax/examples/run_gym.py,sha256=rXvNWkxe4jHllvbvU_EOMji_2-2k5d4tbBKhpMm_Gaw,1526
11
+ pyRDDLGym_jax/examples/run_plan.py,sha256=OENf8s-SrMlh7CYXNhanQiau35b4atLBJMNjgP88DCg,2463
12
+ pyRDDLGym_jax/examples/run_scipy.py,sha256=wvcpWCvdjvYHntO95a7JYfY2fuCMUTKnqjJikW0PnL4,2291
13
+ pyRDDLGym_jax/examples/run_tune.py,sha256=-M4KoBpg5lshQ4mmU0cnLs2i7-ldSIr_OcxHK7YA6bw,3273
13
14
  pyRDDLGym_jax/examples/configs/Cartpole_Continuous_gym_drp.cfg,sha256=pbkz6ccgk5dHXp7cfYbZNFyJobpGyxUZleCy4fvlmaU,336
14
15
  pyRDDLGym_jax/examples/configs/Cartpole_Continuous_gym_replan.cfg,sha256=OswO9YD4Xh1pw3R3LkUBb67WLtj5XlE3qnMQ5CKwPsM,332
15
16
  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_drp.cfg,sha256=FTGFwRAGyeRrbDMh_FV8iv8ZHrlj3Htju4pfPNmKIcw,336
17
18
  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_drp.cfg,sha256=C_0BFyhGXbtF7N4vyeua2XkORbkj10HELC1GpzM0Uh4,415
19
20
  pyRDDLGym_jax/examples/configs/MarsRover_ippc2023_slp.cfg,sha256=Yb4tFzUOj4epCCsofXAZo70lm5C2KzPIzI5PQHsa_Vk,429
20
21
  pyRDDLGym_jax/examples/configs/MountainCar_Continuous_gym_slp.cfg,sha256=e7j-1Z66o7F-KZDSf2e8TQRWwkXOPRwrRFkIavK8G7g,327
21
22
  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
23
+ pyRDDLGym_jax/examples/configs/Pendulum_gym_slp.cfg,sha256=Uy1mrX-AZMS-KBAhWXJ3c_QAhd4bRSWttDoFGYQ08lQ,315
24
24
  pyRDDLGym_jax/examples/configs/PowerGen_Continuous_drp.cfg,sha256=SM5_U4RwvvucHVAOdMG4vqH0Eg43f3WX9ZlV6aFPgTw,341
25
25
  pyRDDLGym_jax/examples/configs/PowerGen_Continuous_replan.cfg,sha256=lcqQ7P7X4qAbMlpkKKuYGn2luSZH-yFB7oi-eHj9Qng,332
26
26
  pyRDDLGym_jax/examples/configs/PowerGen_Continuous_slp.cfg,sha256=kG1-02ScmwsEwX7QIAZTD7si90Mb06b79G5oqcMQ9Hg,316
@@ -29,18 +29,16 @@ pyRDDLGym_jax/examples/configs/Quadcopter_slp.cfg,sha256=9QNl58PyoJYhmwvrhzUxlLE
29
29
  pyRDDLGym_jax/examples/configs/Reservoir_Continuous_drp.cfg,sha256=rrubYvC1q7Ff0ADV0GXtLw-rD9E4m7qfR66qxdYNTD8,339
30
30
  pyRDDLGym_jax/examples/configs/Reservoir_Continuous_replan.cfg,sha256=DAb-J2KwvJXViRRSHZe8aJwZiPljC28HtrKJPieeUCY,331
31
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
32
  pyRDDLGym_jax/examples/configs/UAV_Continuous_slp.cfg,sha256=QiJCJYOrdXXZfOTuPleGswREFxjGlqQSA0rw00YJWWI,318
35
33
  pyRDDLGym_jax/examples/configs/Wildfire_MDP_ippc2014_drp.cfg,sha256=PGkgll7h5vhSF13JScKoQ-vpWaAGNJ_PUEhK7jEjNx4,340
36
34
  pyRDDLGym_jax/examples/configs/Wildfire_MDP_ippc2014_replan.cfg,sha256=kEDAwsJQ_t9WPzPhIxfS0hRtgOhtFdJFfmPtTTJuwUE,454
37
35
  pyRDDLGym_jax/examples/configs/Wildfire_MDP_ippc2014_slp.cfg,sha256=w2wipsA8PE5OBkYVIKajjtCOtiHqmMeY3XQVPAApwFk,371
38
36
  pyRDDLGym_jax/examples/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- pyRDDLGym_jax/examples/configs/default_drp.cfg,sha256=AtHBy2G9xXTWb6CfDGeKrC2tycwhe2u-JjLnAVLTugQ,344
37
+ pyRDDLGym_jax/examples/configs/default_drp.cfg,sha256=S2-5hPZtgAwUAFpiCAgSi-cnGhYHSDzMGMmatwhbM78,344
40
38
  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,,
39
+ pyRDDLGym_jax/examples/configs/default_slp.cfg,sha256=TG3mtHUnCA7J2Gm9SczENpqAymTnzCE9dj1Z_R-FnVk,340
40
+ pyRDDLGym_jax-0.3.dist-info/LICENSE,sha256=Y0Gi6H6mLOKN-oIKGZulQkoTJyPZeAaeuZu7FXH-meg,1095
41
+ pyRDDLGym_jax-0.3.dist-info/METADATA,sha256=e_1MlMdQoqQHW-KA2OSIZzIAQyfe-jDtMOxkIyhmLmI,1085
42
+ pyRDDLGym_jax-0.3.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
43
+ pyRDDLGym_jax-0.3.dist-info/top_level.txt,sha256=n_oWkP_BoZK0VofvPKKmBZ3NPk86WFNvLhi1BktCbVQ,14
44
+ pyRDDLGym_jax-0.3.dist-info/RECORD,,
@@ -1,18 +0,0 @@
1
- [Model]
2
- logic='FuzzyLogic'
3
- logic_kwargs={'weight': 1.0}
4
- tnorm='ProductTNorm'
5
- tnorm_kwargs={}
6
-
7
- [Optimizer]
8
- method='JaxStraightLinePlan'
9
- method_kwargs={}
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=2000
18
- train_seconds=30
@@ -1,18 +0,0 @@
1
- [Model]
2
- logic='FuzzyLogic'
3
- logic_kwargs={'weight': 10.0}
4
- tnorm='ProductTNorm'
5
- tnorm_kwargs={}
6
-
7
- [Optimizer]
8
- method='JaxStraightLinePlan'
9
- method_kwargs={}
10
- optimizer='rmsprop'
11
- optimizer_kwargs={'learning_rate': 0.005}
12
- batch_size_train=8
13
- batch_size_test=8
14
-
15
- [Training]
16
- key=42
17
- epochs=10000
18
- train_seconds=90
@@ -1,20 +0,0 @@
1
- [Model]
2
- logic='FuzzyLogic'
3
- logic_kwargs={'weight': 1000}
4
- tnorm='ProductTNorm'
5
- tnorm_kwargs={}
6
-
7
- [Optimizer]
8
- method='JaxStraightLinePlan'
9
- method_kwargs={}
10
- optimizer='rmsprop'
11
- optimizer_kwargs={'learning_rate': 0.001}
12
- batch_size_train=16
13
- batch_size_test=16
14
- clip_grad=1.0
15
-
16
- [Training]
17
- key=42
18
- epochs=200
19
- train_seconds=30
20
- policy_hyperparams={'advance': 10.0}